迁移到Android Studio 3后,应用无法在Android 7.1以下的设备上运行

升级Android Studio 3后,我们尝试的Android 5和7设备上无法安装应用程序 – 如果我自己发送APK,则说“应用程序未安装”,如果我尝试从AS构建,则重新启动手机日志中的内存块异常.

但是,应用程序可以安装在运行这些Android版本的模拟器上.

应用程序可以安装在我们测试的Android 7.1.1和8上.

尝试启用和禁用Java 8兼容性 – 结果相同.

Minify已启用.另外在2个模块中也可以使用它.

compileSdkVersion 26
buildToolsversion '26.0.2'

defaultConfig {
    minSdkVersion 21
    targetSdkVersion 26
    useLibrary 'org.apache.http.legacy'
    applicationId 'com.myapp.android'
    versionName "6.0.0.2"
    versionCode 6002
    multiDexEnabled true
    testInstrumentationRunner "com.android.test.runner.MultiDexTestRunner"
}

这是错误消息

ime: Calling main entry com.android.commands.am.Am
11-01 11:03:20.807 26024-26589/system_process I/ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.myapp.android/.app.MainActivity_} from uid 2000 on display 0
11-01 11:03:20.811 26024-26589/system_process A/libc: invalid address or address of corrupt block 0x39 passed to dlfree
11-01 11:03:20.811 26024-26589/system_process A/libc: Fatal signal 11 (SIGSEGV),code 1,fault addr 0xdeadbaad in tid 26589 (Binder_8)
11-01 11:03:20.913 14726-14726/? I/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
11-01 11:03:20.913 14726-14726/? I/DEBUG: Build fingerprint: 'motorola/condor_retgb/condor_umts:4.4.4/KXC21.5-40/46:user/release-keys'
11-01 11:03:20.913 14726-14726/? I/DEBUG: Revision: '33456'
11-01 11:03:20.913 14726-14726/? I/DEBUG: ABI: 'arm'
11-01 11:03:20.914 14726-14726/? I/DEBUG: pid: 26024,tid: 26589,name: Binder_8  >>> system_server <<<
11-01 11:03:20.914 14726-14726/? I/DEBUG: signal 11 (SIGSEGV),code 1 (SEGV_MAPERR),fault addr 0xdeadbaad
11-01 11:03:20.945 14726-14726/? I/DEBUG: Abort message: 'invalid address or address of corrupt block 0x39 passed to dlfree'
11-01 11:03:20.945 14726-14726/? I/DEBUG:     r0 00000000  r1 b6ee4dec  r2 deadbaad  r3 00000000
11-01 11:03:20.945 14726-14726/? I/DEBUG:     r4 00000039  r5 b6ee60d4  r6 98697000  r7 00000041
11-01 11:03:20.945 14726-14726/? I/DEBUG:     r8 9e566bfc  r9 9e566cbc  sl b6bd85d2  fp b6bd85db
11-01 11:03:20.945 14726-14726/? I/DEBUG:     ip 80808000  sp 9e566ba8  lr b6eb5e2f  pc b6eb5e30  cpsr 60010030
11-01 11:03:20.945 14726-14726/? I/DEBUG: backtrace:
10-31 22:41:28.134 254-254/? I/DEBUG:     #00 pc 00028e30  

/system/lib/libc.so (dlfree+1239)
10-31 22:41:28.134 254-254/? I/DEBUG:     #01 pc 0000f0c3  /system/lib/libc.so (free+10)
10-31 22:41:28.134 254-254/? I/DEBUG:     #02 pc 00012dd9  /system/lib/libandroidfw.so (android::ResstringPool::uninit()+38)
10-31 22:41:28.134 254-254/? I/DEBUG:     #03 pc 00013b33  /system/lib/libandroidfw.so (android::ResXMLTree::uninit()+12)
10-31 22:41:28.134 254-254/? I/DEBUG:     #04 pc 00013b51  /system/lib/libandroidfw.so (android::ResXMLTree::~ResXMLTree()+4)
10-31 22:41:28.134 254-254/? I/DEBUG:     #05 pc 00010843  /system/lib/libandroidfw.so (android::AssetManager::getPkgName(char const*)+258)
10-31 22:41:28.134 254-254/? I/DEBUG:     #06 pc 000108a5  /system/lib/libandroidfw.so (android::AssetManager::getBasePackageName(unsigned int)+68)
10-31 22:41:28.134 254-254/? I/DEBUG:     #07 pc 00080de7  /system/lib/libandroid_runtime.so
10-31 22:41:28.134 254-254/? I/DEBUG:     #08 pc 00270eef  /data/dalvik-cache/arm/system@framework@boot.oat

编辑:我发现这里可能与https://issuetracker.google.com/issues/64434571有关

最佳答案
事实证明,这是CyanogenMOD / LineageOS中的一个错误,可能还有其他自定义ROM修改了他们不应修改内容.

解决方法关闭AAPT2(但我不知道它的缺点是什么)

谷歌已经在构建工具27中解决了这个问题,但我不知道我们是否可以使用它?

https://issuetracker.google.com/issues/64434571

编辑:如果您仍然无法在未直接构建的某些设备上安装您的应用,请首先使用File – >无效缓存/重启,然后生成 – >干净,最重要的是 – 不要使用你点击RUN获得的APK文件,使用你可以通过Build创建的那个 – >建立APK(s)

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...