Android 4.4.2 取消混淆后友盟报错黑屏问题

发布于 2022-09-05 00:59:21 字数 1377 浏览 30 评论 0

最近公司项目考虑到混淆后线上bug不易查找,并且本就有使用360加固,就不做混淆了,但是我发现取消混淆后在android 4.4.2 (仅在这个版本会出现)的手机上跑不起来,启动黑屏几秒后闪退

错误日志

05-26 03:46:59.290 2511-2511/? I/dalvikvm: Failed resolving Lcom/umeng/analytics/d; interface 8796 'Lu/aly/v;'
05-26 03:46:59.290 2511-2511/? W/dalvikvm: Link of class 'Lcom/umeng/analytics/d;' failed
05-26 03:46:59.290 2511-2511/? E/dalvikvm: Could not find class 'com.umeng.analytics.d', referenced from method com.umeng.analytics.MobclickAgent.<clinit>
05-26 03:46:59.290 2511-2511/? W/dalvikvm: VFY: unable to resolve new-instance 7065 (Lcom/umeng/analytics/d;) in Lcom/umeng/analytics/MobclickAgent;
05-26 03:46:59.290 2511-2511/? D/dalvikvm: VFY: replacing opcode 0x22 at 0x0000

取消混淆,build配置

   buildTypes {
        release { //正式环境

//            minifyEnabled true  //minifyEnabled主要用来控制是否运行混淆的。
//            shrinkResources true //去掉无用的资源
//            zipAlignEnabled true //zip优化
//            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
            buildConfigField "boolean", "IS_DEBUG", "Boolean.parseBoolean(\"false\")"
        }
        debug {
            buildConfigField "boolean", "IS_DEBUG", "Boolean.parseBoolean(\"true\")"
        }
    }

开启混淆后就可以正常启动,或者不混淆,但是加固后也可以正常启动
网上搜了很久也找不到原因,求大神帮助

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眼睛会笑 2022-09-12 00:59:21

找到原因了,是multiDex分包时 未在Application中做初始化导致的
在Application的继承类中

@Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);  ////这步分包必须要做,否则在android 4.4 及以下的机子上会出问题
    }

之所以在混淆和加固后没有出现问题,是因为混淆或者加固后缩减了无用代码,没有进行分包处理
至于版本问题,是因为Android 5.0 以及更高版本使用了一个叫做ART的运行时,它天生就支持从应用的apk文件中加载multiple dex文件。所以并没有出现问题
但是后来在了解multiple 时,还发现可能存在其他隐患
其实你不知道MultiDex到底有多坑

不再见 2022-09-12 00:59:21

设置分包就好了~之前我也这样子搞了好久。。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文