Androidスタジオでこのエラーが発生しています。解決方法を知っている人は誰でも教えてください
Execution failed for task ':q84sale-base:transformNativeLibsWithStripDebugSymbolForRelease'.
> A problem occurred starting process 'command '/Users/amira/Library/Android/sdk/ndk-bundle/toolchains/mips64el-linux-Android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-Android-strip''
理由:
によると https://github.com/Android-ndk/ndk/wiki/Changelog-r18#known-issues
このバージョンのNDKはAndroid Gradleプラグインバージョン3.0以前と互換性がありません。
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-Android
などのエラーが表示された場合は、プロジェクトファイルを更新してプラグインバージョン3.1以降を使用してください。また、Android Studio 3.1以降にアップグレードする必要があります。
上記のように:
プラグインバージョン3.1以降を使用するようにプロジェクトファイルを更新します。また、Android Studio 3.1以降にアップグレードする必要があります。
直接的な解決策は次のとおりです:
トップレベルbuild.gradle
から、クラスパスをAndroid gradleプラグインを3.2.1以降に変更します。
classpath 'com.Android.tools.build:gradle:3.2.1'
しかし、既存のGradleプラグインバージョンを使い続ける場合、回避策/解決策は次のとおりです:
オプション1:
ndk-17
以降、mips
アーキテクチャはありません。そのため、NDKをダウングレードするか(古いバージョンのNDKの場合は、ここから確認してください https://developer.Android.com/ndk/downloads/older_releases )、除外するabiFiltersを追加してくださいmips
ABI。
Android Studioのデフォルトのndkパス設定であるndk-bundleを使用していることを確認します。これを構成できますlocal.properties
からのパスで、NDKバージョンを指すようにします。たとえば、r16bではなくデフォルトはndk-bundle
です。
ndk.dir=<path>/Android-ndk-r16b
sdk.dir=<path>/sdk
オプション2:
以下の設定を使用して、必要なABIのみをフィルタリングします。
Android {
// Similar to other properties in the defaultConfig block, you can override
// these properties for each product flavor in your build configuration.
defaultConfig {
ndk {
// Tells Gradle to build outputs for the following ABIs and package
// them into your APK.
abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
}
}
}
または、cmake
を使用している場合
buildTypes {
debug {
externalNativeBuild {
cmake {
abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
}
}
}
release {
externalNativeBuild {
cmake {
abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
}
}
}
}
オプション3:
別の回避策は、以下の構成を使用してMIPSの除去をスキップすることです。
Android {
...
packagingOptions{
doNotStrip '*/mips/*.so'
doNotStrip '*/mips64/*.so'
}
...
}
あなたのケースに最適なオプションを選択してください。