一旦我将目标api切换为“ Q”,就无法在Android Q Emulator上安装APK。我收到错误消息:
无法完成会话:INSTALL_FAILED_INVALID_APK:无法 提取本机库,res = -2
Android Studio(v3.3.2)建议我首先卸载apk。我尝试卸载apk,但仍然收到相同的错误。如果我将目标api降级到28,则应用工作正常。
答案 0 :(得分:7)
发生这种情况是因为zipalign存在问题,请参阅-https://issuetracker.google.com/issues/37045367。您需要在AndroidManifest.xml的应用程序标记中设置extractNativeLibs
<application
android:allowBackup="false"
android:label="@string/app_name"
android:extractNativeLibs="true"
...
>
如果您使用adb
安装apk,请尝试添加-t
标志
adb install -t <path-to-apk>
答案 1 :(得分:3)
如果要使用android:extractNativeLibs="false"
,请使用zipalign和-p
键在ZIP中对ELF进行页面对齐:
zipalign -p 4 app.apk app-aligned.apk
答案 2 :(得分:1)
我在AWS Device Farm中也收到此错误。原来他们已经安装了sdk版本21,我的minSdkVersion
设置为24。将我的minSdkVersion
降低到21可以解决此问题。尝试在测试设备上安装apk时返回此错误。希望这对其他在Android上设置设备场的人有所帮助。