首页
学习
活动
专区
圈层
工具
发布

Android 混淆问题排查

问题 近期在开发过程中,突然出现混淆后程序出现运行时异常,编译是正常的,不混淆也是正常的, 错误信息如下提示 12-07 14:10:27.056 10603-10603/?...2、考虑到关闭混淆正常,开启混淆异常,那么就定位到时混淆的问题 3、既然是混淆问题那就查看混淆配置文件proguard-rules.pro,基本的配置都已经防混淆了 4、接下来的思路就是通过反编译来查看...BaseApplication到底出了啥额问题 过程 第一步 我们看到下面反编译的代码 ?...:888) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749) 看到错误信息变化了,心里应该开心,看来离解决问题更近一步了...所以以后遇到混淆的问题就按照提示一步一步排查,一定要反编译文件来分析问题,不然无法定位原因。 还有第一次混淆后建议反编译查看一下包里面的代码,有没有需要混淆的核心代码被keep掉了。

2.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android 功耗(14)----Android功耗 问题debug处理

    Android 功耗问题debug处理(主要是睡眠时“大”电流问题的debug方法示例) 在手机进入sleep后,被上层apk唤醒的debug方法, 请抓取相应的待机的mobilelog, 从kernel_log...up by RTC 请在相应的main_log中查找关键字 Alarm triggering, 其后面对应的type 0, type 2所对应的APk就是唤醒系统的唤醒源, 例如: 从log 上看,问题是由于系统被...alarm type 为0 & 2 的APK唤醒,分别为com.android.phone&com.google.android.gsf 01-03 13:47:52.018 653 699 V AlarmManager...: Native set alarm :Alarm{41e4d570 type 2 com.android.phone} 01-03 13:47:59.056 653 699 V AlarmManager...: Native set alarm :Alarm{421dec08 type 2 com.android.phone} 01-03 13:48:58.264 653 699 V AlarmManager

    1.3K10

    Android Sqlite并发问题

    背景 我们的项目中使用的是ormlite的加密框架sqlcipher来进行数据库操作的 多进程操作同一个数据库文件出现了问题 net.sqlcipher.database.SQLiteException...会创建一个数据库实例SQLiteDatabase,如果在不同的进程如果通过shareuserid来实现数据库共享,那么会造成每一个进程都有SQLiteDatabase对象,在并发操作的时候也有可能会出现如上问题...的话,这时候查询操作就会报错,解决方法就是让每一条的数据库记录的大小都不要超过1MB,这里是单条记录的大小不能超过1MB,如果是每条数据库记录大小都不超过1MB,但是10条加起来超过1MB,那这是没有问题的...,此问题在旧版的sqlcipher会出现,但是在新版的sqlcipher貌似已经修复了这个bug,但是只是提高了1MB的阀值,至于怎么提高的?...详见:https://github.com/sqlcipher/android-database-sqlcipher/issues/341#issuecomment-310289295,现在是改成动态来分配大小的

    1.8K40

    Android组件化问题思考

    这个时候会先抽象一个壳工程,然后把所以的子项模块用aar的方式引入这个壳,之后会把每个业务放在一个仓库内,这样多个业务之间就不会出现代码冲突之类的问题了。 这个时候会出现另外一些更困扰的问题。...各个仓库的aar版本问题?不同branch 需要使用不同的aar版本如何做到统一管理? 万一我要调试别人的仓库了如何调试呢?...遇事不决找轮子 那么有没有现成的轮子可以解决这些工程化之后会碰到的问题呢? Gradle Repo 容我给大家安利个项目,我们当前项目使用的轮子就是这个。...其实也不是,那么由于项目散落在不同的仓库内,所以必然会出现一个问题,如何统一管理项目内的aar版本呢??????...configurations.all { resolutionStrategy { force "com.android.support:appcompat-v7:28.0.0"

    1.4K50

    Android面试问题汇总

    问题描述:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。...5.设计模式在android中的应用 5.1 AlertDialog、Notification源码中使用了Bulider(建造者)模式完成参数的初始化 5.2 Okhttp内部使用了责任链模式来完成每个...2.解决了像ArrayList、Vector这种集合多线程遍历迭代问题,记住,Vector虽然线程安全,只不过是加了synchronized关键字,迭代问题完全没有解决!...这个漏洞称为CAS操作的"ABA"问题。...不过目前来说这个类比较"鸡肋",大部分情况下ABA问题并不会影响程序并发的正确性,如果需要解决ABA问题,使用传统的互斥同步可能回避原子类更加高效。 什么导致线程阻塞?

    54810
    领券