文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android 崩溃可在手机端显示日志 SpiderMan

2022-06-06 14:11

关注

功能介绍: 在Android手机上显示闪退崩溃信息 解决软件闪退崩溃,但是又不能场景重现的无奈 避免部分国产Rom禁止异常log输出 crash_info                                   crash_info_share 引入依赖

1.1.4
版本开始全面迁移到
androidx
,如不想迁移到
androidx
请继续使用
1.1.3
版本。
 

def spider_man = "1.1.5"
def spider_man_no_op = "1.1.4"
方式一
debugImplementation "com.simple:spiderman:$spider_man"
releaseImplementation "com.simple:spiderman-no-op:$spider_man_no_op"
方式二
implementation "com.simple:spiderman:$spider_man"

 上面

方式一
debug环境有奔溃信息提示,release环境则没有,
方式二
都有,但是记得添加混淆。
 

初始化

放到Application的

onCreate()
初始化中,因为static了传入的context,并且放在其他Library初始化的前面。


public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        //放在其他库初始化前
        SpiderMan.init(this);
    }
}
直接显示错误页面

调用

SpiderMan.show(Throwable e)
方法


try {
      String text = null;
      text.toUpperCase();
    } catch (Exception e) {
      SpiderMan.show(e);
}
冲突 androidx

项目已经依赖了

androidx.appcompat:appcompat
包,如果产生冲突请使用下面的方式依赖。


debugImplementation("com.simple:spiderman:$spider_man") {
        exclude group: "androidx.appcompat"
    }
    releaseImplementation("com.simple:spiderman-no-op:$spider_man") {
        exclude group: "androidx.appcompat"
    }
support

项目已经依赖了

com.android.support:appcompat-v7
包,如果产生冲突请使用下面的方式依赖。


debugImplementation("com.simple:spiderman:$spider_man") {
    exclude group: "com.android.support"
}
releaseImplementation("com.simple:spiderman-no-op:$spider_man") {
    exclude group: "com.android.support"
}
混淆

-keep class com.simple.spiderman.** { *; }
-keepnames class com.simple.spiderman.** { *; }
-keep public class * extends android.app.Activity
-keep class * implements Android.os.Parcelable {
    public static final Android.os.Parcelable$Creator *;
}
# support
-keep public class * extends android.support.annotation.** { *; }
-keep public class * extends android.support.v4.content.FileProvider
# androidx
-keep public class * extends androidx.annotation.** { *; }
-keep public class * extends androidx.core.content.FileProvider
自定义界面样式

SpiderMan.init(this)
         .setTheme(R.style.SpiderManTheme_Dark);

SpiderMan
内置了两种主题样式
light
dark


 

light dark custom

 

所有自定义属性定义在

attrs.xml

smToolbar:toolbar的背景色 smToolbarText:toolb title的颜色 smToolbarShareText:分享文字按钮的颜色 smContentBackground:toolb下方内容的背景色 smIdentText:标签名字的颜色 smDescText:标签描述的颜色

项目地址:https://github.com/simplepeng/SpiderMan

青冘 原创文章 75获赞 76访问量 8万+ 关注 私信 展开阅读全文
作者:青冘


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯