Android debug.apk 闪退 ClassNotFoundException 直接Run正常
来源:互联网 发布:兰州李知女人 编辑:程序博客网 时间:2024/06/02 04:42
最近工作时遇到一个非常坑爹的问题,每次打包给测试的app-debug.apk总会在一部分机器上闪退,但是直接在出问题的机型上run又没有任何问题。
如果你遇到跟我一样的情况,可以往下看看,说不定能得到些提示,也欢迎跟我探讨~
闪退时的异常如下:
java.lang.RuntimeException: Unable to instantiate application package.MyApplication:
java.lang.ClassNotFoundException: Didn't find class "package.MyApplication" on path:
DexPathList[[zip file "/data/app/package-2.apk"],nativeLibraryDirectories=[/data/app-lib/package-2, /vendor/lib, /system/lib]]
...
Caused by: java.lang.ClassNotFoundException: Didn't find class "package.MyApplication" on path:
DexPathList[[zip file "/data/app/package-2.apk"],nativeLibraryDirectories=[/data/app-lib/package-2, /vendor/lib, /system/lib]]
...
这个问题困扰我好多天了,一开始还以为上传apk的过程中出现了问题
后来才发现Android Studio在不同的设备上通过 run app 生成的debug.apk包大小竟然不一样。。。
测试机型如下:
手机型号 系统版本 包大小
p10plus 7.0 6.21MB
红米note3 6.0.1 6.19MB
酷派8297 4.4.4 5.87MB
...
(家里还有一台Nubia系统是5.0.1,后续带来测试后会更新)
兼容情况如下:
高版本的设备运行出的apk安装在Android L以下的设备上会报错
低版本的设备运行出的apk安装在高版本设备上正常
注意:
这个BUG并非一定会出现,我的另一个项目从未出现此情况。
仔细对比了另一个项目的各项配置,基本一模一样,但另一个项目生成的debug.apk大小稳定在14.9MB。
在一篇博文中找到一个解决方案,有需要的可以参考:http://blog.csdn.net/xufazhong/article/details/71155528
我觉得这样降级的处理方式并不好,目前我的做法是生成测试所需debug.apk的时候使用 "Build" -> "Build APK" 生成,而非在设备上直接"Run"
顺带一提使用Build APK生成的debug.apk是6.15MB
如果有哪位大神了解具体原因和更好的解决方案还望告知,先谢过了~
- Android debug.apk 闪退 ClassNotFoundException 直接Run正常
- 模拟器调试正常,直接运行闪退
- Android Studio 正常运行apk出现debug模式
- 安卓apk打包后安装就闪退,直接run在手机正常
- 安卓apk打包后安装就后运行就闪退,直接run在手机正常
- Android 打包正式版apk闪退问题
- 直接 Run 和 Debug 结果不一样?
- Android 运行apk失败,ClassNotFoundException
- Xcode运行run闪退
- android studio生成的apk闪退问题
- Android开发过程中微信分享直接闪退
- Android相机调用后直接闪退的问题
- ClassNotFoundException debug
- android调试时apk可运行,导出签名的apk后, 有些功能闪退,
- MyEclipse10破解 运行run.bat闪退
- MyEclipse10破解 运行run.bat闪退
- MyEclipse10破解 运行run.bat闪退
- MyEclipse 10.0破解run.bat闪退
- mybatis逆向工程生成的Example类的使用
- Android TV ViewPager 禁止滑动
- RocketMQ实战(四)
- 20170723离线赛比赛总结
- SEO(搜索引擎优化)简单说下关键词矩阵策略
- Android debug.apk 闪退 ClassNotFoundException 直接Run正常
- 红黑树详解
- 使用Application Loader打包上传AppStore流程
- html知识点总结
- 获取select下拉框被选中值和内容
- vue2.0专题:通信
- OOM情况与原因
- linux常用命令系列3
- CentOS 6 使用 yum 安装MongoDB及服务器端配置