簡體   English   中英

定位 SDK Android Q 導致無法完成會話:INSTALL_FAILED_INVALID_APK:無法提取本機庫,res=-2

[英]Targeting SDK Android Q results in Failed to finalize session : INSTALL_FAILED_INVALID_APK: Failed to extract native libraries, res=-2

一旦我將目標 api 切換為“Q”,我就無法在 Android Q 模擬器上安裝 APK。 我得到錯誤:

無法完成會話:INSTALL_FAILED_INVALID_APK:無法提取本機庫,res=-2

Android Studio (v3.3.2) 建議我先卸載 apk。 我嘗試卸載 apk,但仍然出現相同的錯誤。 如果我將目標 api 降級到 28,應用程序就可以工作。

這是因為 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>

如果您想要android:extractNativeLibs="false" ,請使用帶-p鍵的 zipalign 以在 ZIP 中頁面對齊 ELF:

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

我也在 AWS Device Farm 中遇到了這個錯誤。 結果他們安裝了 sdk 版本 21,我的minSdkVersion設置為 24。 minSdkVersion我的minSdkVersion降低到 21 解決了這個問題。 嘗試在測試設備上安裝 apk 時返回此錯誤。 希望這對其他人在 android 上設置設備農場有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM