2016-08-26 117 views
0

我正在使用AS,我不需要在領域x86_64包。 x86_64軟件包會對其他庫產生一些問題。如何取出包裝?從Realm中刪除x86_64 pakage

enter image description here

+0

什麼是AS?此外,也許考慮發佈您的問題與x86_64,而不是試圖將其刪除 – anthonymonori

回答

1

好了,你可以刪除任何架構的文件夾,但請記住,這意味着在問題庫中(這種情況下,它的境界)將不會對那些刪除的架構工作。

坦率地說,你可以簡單地刪除它,但正如我上面提到的,這是不好的。

您可以包括/被稱爲splitting技術排除從您的構建不同的架構:

android { 
    // Rest of Gradle file 
     splits { 
      abi { 
      enable true 
      reset() 
      include 'armeabi', 'armeabi-v7a', 'arm64_v8a', 'mips', 'x86' 
      universalApk true 
     } 
    } 
} 

//Ensures architecture specific APKs have a higher version code 
//(otherwise an x86 build would end up using the arm build, which x86 devices can run) 
ext.versionCodes = [armeabi:1, 'armeabi-v7a':2, 'arm64-v8a':3, 'mips':4, x86:5] 

android.applicationVariants.all { variant -> 
    // assign different version code for each output 
    variant.outputs.each { output -> 
     int abiVersionCode = project.ext.versionCodes.get(output.getFilter(OutputFile.ABI)) ?: 0 
     output.versionCodeOverride = (abiVersionCode * 10000) + android.defaultConfig.versionCode 
    } 
} 
+0

非常感謝,你說的是一個解決方案。但這將爲不同的設備建立許多apks。現在我的方式是使用abiFilters來限制abi。 ndk abiFilters「armeabi」,「armeabi-v7a」,「x86」 } –

1

abiFilters將是一個很好的解決方案。該方法將限制abi,並且只在構建apk時添加指定的abi。

defaultConfig { 
    applicationId "com.example.app" 
    minSdkVersion 16 
    targetSdkVersion 24 
    versionCode 1 
    versionName "1.0" 
    ndk { 
     abiFilters "armeabi", "armeabi-v7a", "x86" 
    } 
// ... 
} 

這意味着只有那些指定的arch-folders將被使用,其餘的可以被刪除。

+0

請發佈格式化的代碼而不是截圖 – anthonymonori

相關問題