2016-08-26 2 views
0

私はASと一緒に作業しており、領域内にx86_64パッケージは必要ありません。 x86_64パッケージは、他のライブラリでいくつかの問題を引き起こします。パッケージを削除するには?x86_64 pakageをRealmから削除する

enter image description here

+0

ASとは何ですか?また、おそらくx8639で問題を投稿することを検討してください。 – 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

ありがとうございました。あなたが言ったことは解決策ですが、これはさまざまなデバイス用に多くのapkを構築します。今私の方法abiを制限するためにabiFiltersを使用しています。 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" 
    } 
// ... 
} 

これは、指定されたアーチフォルダのみが使用され、残りは削除可能であることを意味します。

+0

スクリーンショットの代わりに書式設定されたコードを投稿してください – anthonymonori

関連する問題