• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

SpiderMan: 崩溃日志手机端显示 ,测试妹妹的最爱,开发哥哥的小棉袄 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

SpiderMan

MIT

SpiderMan能为您做的事:

  • 在Android手机上自动显示闪退崩溃信息,直接分享给相关开发人员!
  • 再也不用担心测试妹妹给你重现怎样操作才能触发闪退崩溃的尴尬!
  • 再也不用担心产品给你说哪儿哪儿会闪退崩溃,但是又不能场景还原的无奈!
  • 再也不用担心某些国产Rom禁止异常log输出!
  • 再也不用担心开发工具异常log信息输出时灵时不灵!
Debug环境Share
crash_infocrash_info_share

引入依赖

v1.1.8开始使用jitpack仓库,记得在项目根目录build.gradle添加jitpack仓库的引用。

allprojects {	repositories {		...		maven { url 'https://jitpack.io' }	}}

appbuild.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内置了两种主题样式lightdark

lightdarkcustom

所有自定义属性定义在attrs.xml

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

具体可以参考app中的用法。

赞助

如果您觉得SpideMan帮助了您,可选择精准扶贫,要是10.24作者就在这里


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap