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

标签 android android-studio-3.0

升级到 Android Studio 3 后,无法在我们试过的 Android 5 和 7 设备上安装应用程序 - 如果我向自己发送 APK,它会显示“应用程序未安装”,如果我尝试从 AS 构建,它会重新启动日志中出现损坏的内存块异常的手机。

不过,应用程序可以安装在运行这些 android 版本的模拟器上。

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

尝试启用和禁用 Java 8 兼容性 - 结果相同。

启用缩小。还在 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(但我不知道那有什么缺点)

Google 已在构建工具 27 中修复此问题,但我不知道我们是否可以使用它?

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

编辑:如果您仍然无法在您不直接构建的某些设备上安装您的应用程序,首先文件 -> 使缓存无效/重新启动,然后构建 -> 清理,最重要的是 - 不要使用您通过单击 RUN 获得的 APK 文件,使用您可以通过 Build -> Build APK(s) 创建的文件

关于android - 应用迁移到 Android Studio 3 后无法在 Android 7.1 以下的设备上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47051166/

相关文章:

android - Espresso : android. support.test.espresso.AmbiguousViewMatcherException for AdapterView

android - 为什么我突然无法在 AS3 AIR Android 项目中使用 Firebase REST API 刷新 idToken?

java - 我遇到的最奇怪的 Java 问题,NoClassDefFoundError 由于注释?

kotlin - 如何在 android Kotlin 中禁用点按钮

android studio 3.0 设备资源管理器 - 运行为 : could not set capabilities: Operation not permitted

android - 如何从头隐藏标题栏

android - Lollipop 应用程序的透明导航栏?

android - ModelCache.computeIfAbsent 不能为空

安卓工作室 3.0 : Unable to delete file

android - 错误 :(81, 0) 不再支持 getMainOutputFile。如果需要确定输出的文件名,请使用 getOutputFileName。