SpiderMan SpiderMan能为您做的事: - 在Android手机上自动显示闪退崩溃信息,直接分享给相关开发人员!
- 再也不用担心测试妹妹给你重现怎样操作才能触发闪退崩溃的尴尬!
- 再也不用担心产品给你说哪儿哪儿会闪退崩溃,但是又不能场景还原的无奈!
- 再也不用担心某些国产Rom禁止异常log输出!
- 再也不用担心开发工具异常log信息输出时灵时不灵!
Debug环境 | Share |
---|
| |
引入依赖从v1.1.8 开始使用jitpack 仓库,记得在项目根目录 的build.gradle 添加jitpack 仓库的引用。 allprojects { repositories { ... maven { url 'https://jitpack.io' } }} 在app 的build.gradle 引入依赖: def spider_man = "v1.1.8" 方式一debugImplementation "com.github.simplepeng.SpiderMan:spiderman:${spider_man}"releaseImplementation "com.github.simplepeng.SpiderMan:spiderman-no-op:${spider_man}" 方式二implementation "com.github.simplepeng.SpiderMan:spiderman:${spider_man}" 上面方式一 debug环境有奔溃信息提示,release环境则没有,方式二 都有,但是记得添加混淆。 从v1.1.4 版本开始全面迁移到androidx (如不想迁移到androidx 请继续使用1.1.3 版本,并且需要自己初始化SpiderMan)。 初始化从1.1.7 版本开始使用自动初始化,所以就不需要下面的初始化代码了,没错就是这么简单,你只需要正确的引入依赖库就行了。 放到Application的onCreate() 初始化中,因为static了传入的context,并且最好放在其他Library初始化的前面。
//从1.1.7版本开始不需要下面的初始化代码了public class App extends Application { @Override public void onCreate() { super.onCreate(); //放在其他库初始化前,v1.1.7不需要了,自动初始化 SpiderMan.init(this); }} 直接显示错误页面有时候可能因为一些特殊环境下才会发生的崩溃很难复现,所以我们不得以会将一些代码放到try/catch 中运行,这样虽然保证了可以不崩溃,但是当发生崩溃时又会很容易忽略掉错误信息。现在我们可以直接在catch 代码块中调用SpiderMan.show(Throwable e) 方法,这样就可以直接显示崩溃提示页面。 try { String text = null; text.toUpperCase(); } catch (Exception e) { SpiderMan.show(e);} 冲突androidx项目已经依赖了androidx.appcompat:appcompat 包,如果产生冲突请使用下面的方式依赖。 debugImplementation("com.github.simplepeng.SpiderMan:spiderman:${spider_man}") { exclude group: "androidx.appcompat"}releaseImplementation("com.github.simplepeng.SpiderMan:spiderman-no-op:${spider_man}") { exclude group: "androidx.appcompat"} support项目已经依赖了com.android.support:appcompat-v7 包,如果产生冲突请使用下面的方式依赖。 debugImplementation("com.github.simplepeng.SpiderMan:spiderman:${spider_man}") { exclude group: "com.android.support"}releaseImplementation("com.github.simplepeng.SpiderMan: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.setTheme(R.style.SpiderManTheme_Dark); SpiderMan 内置了两种主题样式light 和dark 。
所有自定义属性定义在attrs.xml 中 - smToolbar:toolbar的背景色
- smToolbarText:toolb title的颜色
- smToolbarShareText:分享文字按钮的颜色
- smContentBackground:toolb下方内容的背景色
- smIdentText:标签名字的颜色
- smDescText:标签描述的颜色
具体可以参考app 中的用法。 赞助如果您觉得SpideMan 帮助了您,可选择精准扶贫,要是10.24 作者就在这里 |
请发表评论