:1.079MB : :1 :2020-09-07 13:43:26
SpiderMan能为您做的事:
在Android手机上显示闪退崩溃信息,直接分享给相关开发人员!
再也不用担心测试妹妹给你重现怎样操作才能触发闪退崩溃的尴尬!
再也不用担心产品给你说哪儿哪儿会闪退崩溃,但是又不能场景还原的无奈!
再也不用担心某些国产Rom禁止异常log输出!
再也不用担心开发工具异常log信息输出时灵时不灵!
引入依赖
从1.1.4版本开始全面迁移到androidx,如不想迁移到androidx请继续使用1.1.3版本。
def spider_man = "1.1.6"
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);
}
}
直接显示错误页面
有时候可能因为一些特殊环境下才会发生的崩溃很难复现,所以我们不得以会将一些代码放到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.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:标签描述的颜色
具体可以参考app中的用法。
02-16程序开发者软件管理服务端,验证系统
02-09图片更名自带放大、缩小、旋转功能其他功
02-03TCR-610P自动收卡机开发例程
02-03传奇地图读取图片,可以借助peg后续开发
02-02一个类似易语言的可视化开发环境
10-04Word开发工具里面的日期选取器使用方法
11-26word菜单栏开发工具加载项自定义
11-24excel开发工具添加开发工具
11-24Excel开发工具制作条形码的方法
12-02Linux开发部署项目环境使用到的命令
12-02开发一款Android APP用到的工具