2017-07-07 70 views
0

我使用過Android Studio 2.2.2,搖籃2.14.1和以下分裂:爲什麼在每個ABI都安裝apk的情況下,安裝了一個與剛安裝的apk不同的apk?

splits { 
    abi { 
     enable true 
     reset() 
     include "armeabi-v7a", "mips", "x86" 
     universalApk true 
    } 
} 

當試圖 「運行 '應用'」 華爲EVA-L19和ALE-L21,它會嘗試安裝不同的APK比它剛建:建立「通用」,並試圖安裝「armeabi-V7A」,從而導致:

 
07/07 13:04:07: Launching app 
The APK file (...)\app-dev-armeabi-v7a-debug.apk does not exist on disk. 
Error while Installing APK 

時,有一個老V7建立的文件夾中它甚至更糟,而時間是浪費了對代碼的更改而無效,因爲它會繼續安裝相同的代碼。

我們不打算爲64位體系結構單獨構建; 「arm64-v8a」的預期行爲是構建和安裝「armeabi-v7a」 - 這就是在universalApk設置爲false時發生的情況。

Instant Run已禁用。

原因在哪裏,如何解決?

+0

您能查看運行 - >運行/調試設置 - 選擇裏面什麼>安裝選項 - >部署 –

+0

@BrijeshMasrani運行|編輯配置| Android應用程序/應用程序,常規選項卡,部署目標選項顯示「打開選擇部署目標對話框」。 「未來發布的相同設備」已取消選中。安裝選項是「默認APK」。這裏的大多數東西都是默認的。 – kaay

+0

爲什麼armeabi-v7a版本的apk沒有生成?由於ABI分裂被啓用,演播室正試圖找到相關的apk到連接的手機。 –

回答

1

不是解決辦法,但一些解決方法:

設置物業universalApk選項:

splits { 
    abi { 
     enable true 
     reset() 
     include "armeabi-v7a", "mips", "x86" 
     universalApk !project.hasProperty('notUniversal') 
    } 
} 

,然後在Android Studio =>Settings =>Build, Execution, Deployment =>Compiler =>Command-line Options:添加屬性標誌:-PnotUniversal

之後:

當您嘗試Run/Debug app構建將像universalApk falsearmeabi-v7a .apk將創建。

但是當你從命令行調用./gradlew或TeamCity的IE =>它會被稱爲像universalApk true,並建立所有變體(普遍性)