前回、Android StudioでNDKバージョンを最新バージョンにアップグレードした後、この問題が発生しました。これを解決する解決策も見つけました。誰かがこの問題を抱えている場合、それがあなたにとって最良の質問と回答であることを願っています。私の答えを確認してください。
NDKリビジョン16の リリースノートはこちら を読んで解決策を見つけました。
Application.mk
でプロジェクトを設定する場合、次をApplication.mk
に追加するだけですファイル:
APP_STL := c++_shared
Gradle経由でCMake
を使用している場合は、build.gradleに次を追加します。
externalNativeBuild {
cmake {
cppFlags ""
arguments "-DANDROID_STL=c++_shared"
}
}
新しいリリースとメモを最新の状態に保つには、この NDK改訂履歴 に従って新しい変更を適用してください。
問題が解決することを願っています。
Android documentation によると、これは既知の問題であり、GradleプラグインにはデフォルトでサポートされていないABIがまだ含まれているためです。 armbeabiはNDKr16で廃止され、r17で削除されたため、警告が出されました。修正するには、サポートされているアーキテクチャをsplits.abi
の下にリストしてください:
...
splits {
abi {
...
reset()
include "x86", "armeabi-v7a", ...
}
}
同じ問題を取得し、以下のセットアップを追加してモジュールbuild.gradleファイルを変更することで修正しました。
Android {
...
splits {
abi {
enable true
reset()
include 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' //select ABIs to build APKs for
universalApk true //generate an additional APK that contains all the ABIs
}
}
project.ext.versionCodes = ['armeabi': 1, 'armeabi-v7a': 2, 'arm64-v8a': 3, 'mips': 5, 'mips64': 6, 'x86': 8, 'x86_64': 9]
Android.applicationVariants.all { variant ->
variant.outputs.each { output ->
output.versionCodeOverride =
project.ext.versionCodes.get(output.getFilter(com.Android.build.OutputFile.ABI), 0) * 1000000 + Android.defaultConfig.versionCode
}
}
}
ご参考までに、幸運を祈ります。