定位SDK Android Q导致无法完成会话:INSTALL_FAILED_INVALID_APK:无法提取本机库,res = -2

时间:2019-03-14 22:32:44

标签: android androidq

一旦我将目标api切换为“ Q”,就无法在Android Q Emulator上安装APK。我收到错误消息:

  

无法完成会话:INSTALL_FAILED_INVALID_APK:无法   提取本机库,res = -2

Android Studio(v3.3.2)建议我首先卸载apk。我尝试卸载apk,但仍然收到相同的错误。如果我将目标api降级到28,则应用工作正常。

3 个答案:

答案 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上设置设备场的人有所帮助。