1

を持っているファイルと を持ってApplication.mkいるファイルの 2 つがAPP_ABI := armeabi armeabi-v7aありますAPP_ABI := x86。これを行う理由は、常に X86 プラットフォーム用にビルドしたいわけではなく、特定の条件が満たされた場合にのみビルドしたいからです。そのため、arm ビルドはシェル スクリプトによって無条件にトリガーndk-buildされ、条件が満たされた場合に X86 に対して再度トリガーされます。私が直面している問題は、ndk-build がトリガーされるたびに次のことを行うことです rm -f ./libs/arm64-v8a/lib*.so ./libs/armeabi/lib*.so ./libs/armeabi-v7a/lib*.so ./libs/armeabi-v7a-hard/lib*.so ./libs/mips/lib*.so ./libs/mips64/lib*.so ./libs/x86/lib*.so ./libs/x86_64/lib*.so。X86 ビルドがトリガーされ、ビルドが完了するとarmeabiarmeabi-v7alibs フォルダーが削除されます。ndk-build は、現在ターゲットとしている libs フォルダーのみを削除すべきではありませんAPP_ABIか? そうでない場合、これを回避する方法はありますか?

build-all.mkNDKディストリビューションには、clean: clean-intermediates clean-installed-binariesすべてのライブラリをクリーンアップしている可能性があるこれがあると思います。

4

1 に答える 1

1

最良の答えではありませんが、次のハックで終わりました

run ndk-build for arm platform
cp -r ./libs/ /tmp/libs/
condition passes
run ndk-build for x86 platform
cp -r /tmp/libs/armeabi/ ./libs/armeabi/
cp -r /tmp/libs/armeabi-v7a/ ./libs/armeabi-v7a/
rm -rf /tmp/libs
于 2016-04-14T12:53:51.960 に答える