目标SDK Android Q导致无法完成会话:安装\u失败\u无效\u APK:无法提取本机库,res=-2

目标SDK Android Q导致无法完成会话:安装\u失败\u无效\u APK:无法提取本机库,res=-2,android,android-10.0,Android,Android 10.0,一旦我将目标api切换到“Q”,我就无法在Android Q Emulator上安装APK。我得到一个错误: 未能完成会话:安装\u失败\u无效\u APK:未能完成 提取本机库,res=-2 Android Studio(v3.3.2)建议我先卸载apk。我尝试卸载apk,但仍然出现相同的错误。如果我将目标api降级为28,应用程序将正常工作。这是因为zipalign出现问题,请参阅-。您需要在AndroidManifest.xml上的应用程序标记中设置extractNativeLibs &l

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

未能完成会话:安装\u失败\u无效\u APK:未能完成 提取本机库,res=-2


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

这是因为zipalign出现问题,请参阅-。您需要在AndroidManifest.xml上的应用程序标记中设置
extractNativeLibs

<application
        android:allowBackup="false"
        android:label="@string/app_name"
        android:extractNativeLibs="true"
...
>

如果您想使用android:extractNativeLibs=“false”,请使用带有
-p
键的zipalign,以便在ZIP:

zipalign -p 4 app.apk app-aligned.apk

我在AWS设备场中也遇到了这个错误。原来他们安装了sdk版本21,而我的
minSdkVersion
设置为24。将my
minSdkVersion
降低到21解决了此问题。尝试在测试设备上安装apk时返回此错误。希望这对其他在android上设置设备场的人有所帮助。

真实设备上的相同问题(运行Q)我的pixel 2上的相同错误tried it,不帮助adb安装-t apk-free.apk执行流式安装adb:未能安装apk-free.apk:失败[安装失败\u无效\u apk:未能提取本机库,res=-2]尝试将以下内容添加到app/build.gradle文件中的defaultConfig`packagingOptions{doNotStrip”/armeabi/.so“doNotStrip”/armeabi-v7a/.so“doNotStrip”/x86/.so”}`中。此外,请确保已卸载apk的任何旧版本。是否可以共享app/build.gradle和清单中的相关摘录?
zipalign -p 4 app.apk app-aligned.apk