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.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"
}
项目已经依赖了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
。
light | dark | custom |
---|---|---|
所有自定义属性定义在attrs.xml
中
- smToolbar:toolbar的背景色
- smToolbarText:toolb title的颜色
- smToolbarShareText:分享文字按钮的颜色
- smContentBackground:toolb下方内容的背景色
- smIdentText:标签名字的颜色
- smDescText:标签描述的颜色
具体可以参考app
中的用法。
如果您觉得SpideMan
帮助了您,可选择精准扶贫,要是10.24
作者就在这里🙇🙇🙇啦!
您的支持是作者继续努力创作的动力😁😁😁
萌戳下方链接精准扶贫
- v1.1.8:使用
jitpack
仓库 - 1.1.7 自动初始化
- 1.1.6 解决view id重名引发的bug
- 1.1.5 增加
cpu-abi
,versionCode
,versionName
输出 - 1.1.4 切换到androidx
- 1.1.3 change minSdkVersion to 14
- 1.1.2 解决FileProvider file_path重名bug(bug来源LuckSiege/PictureSelector)
- 1.1.1 新增直接显示错误页面的方法
SpiderMan.show(Throwable e)
,优化错误类型 - 1.1.0 增加自定义界面主题和国际化
- 1.0.9 增加appcompat包冲突解决方案
- 1.0.8 发现很多小伙伴不会代理异常收集,所以删除了异常回调
- 1.0.7 删除spiderman-no-op never-crash,优化报错类型显示
- 1.0.6 增加spiderman-no-op
- 1.0.5 奔溃文本分享美化排版
- 1.0.4 崩溃输出改为error级别
- 1.0.3 增加 拷贝/分享 崩溃文字/图片信息
- 1.0.2 重构,新增设备信息
- 1.0.1 去除 allowBackup,label
- 1.0.0 首次上传