解決できないようなこの問題に直面しています。ここにシナリオがあります:ABI分割による特定のアーキテクチャーのための依存関係依存性
私はグラデル依存性を使用している建物apkとこの依存関係はアーキテクチャに特化していますこれはx86用のapkのために私は別の依存関係が必要です。
私は、製品の味とそれを解決:
productFlavors {
dev { ... }
develx86 { ... }
production { ... }
productionx86 { ... }
}
は、それでは私はこのような依存関係を定義した:
develCompile 'dependency_for_arm'
develx86Compile 'dependency_for_x86'
これは良い作品。しかし、最近私は自分のアプリケーションにレンダスクリプトの使用法を追加しなければならなかった。私はこの方法でそれをやった:
renderscriptTargetApi 22
renderscriptSupportModeEnabled true
そして、この後、私はGoogle PlayのAPKをアップロードするとき、それはそれはAPKはアーム、x86ので適していると言います。私はこれがいかに可能かわかりません。あなたは別のCPUを持つデバイス上でクラッシュすると思う(私はアームのためのAPKを生成し、ユーザーがx86アプリケーションでそれを実行するクラッシュする場合)。
だから私は、ABIを使用するdecitedは分割:
splits {
abi {
enable true
reset()
include 'armeabi', 'x86'
universalApk false
}
}
//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:0, x86:1]
import com.android.build.OutputFile
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 = android.defaultConfig.versionCode + abiVersionCode
}
しかし、私は、生成されたAPKファイルを参照するとき、私はセクションを開いたときに今、味固有がAPKとAPKに含まれていないで、私の依存関係がクラッシュしますこの依存関係からAPIを使用します。
誰かがこの問題を解決する方法を知っていますか?または、誰かが私がレンダスクリプトを含んでいたときにapkが両方のアーキテクチャ用であるとGoogle Playに言う理由を知っていますか? (それがなければ正常に動作しますが、レンダスクリプトが必要です)。
ありがとうございます。私はどんな助けにも感謝します。
任意の運?あなたがそれを見つけた場合は答えを投稿してください –