2016-04-14 7 views
1

Application.mkファイルはAPP_ABI := armeabi armeabi-v7aで、その他のファイルはAPP_ABI := x86です。これを行う理由は、X86プラットフォーム用に構築するのではなく、特定の条件が満たされたときだけであるということです。したがって、シェルビルドはシェルスクリプトによって無条件にトリガされ、条件が満たされた場合にX86に対して再びndk-buildがトリガされます。私が直面する問題は、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-v7a libsフォルダが削除されています。 ndk-buildは、現在対象としているlibsフォルダのみをAPP_ABIで削除しないでください。もしそうでなければ、これを回避する方法はありますか?ndk-buildを作成する方法は、ビルドがトリガーされているlibsフォルダのみを削除します

NDKのbuild-all.mkには、すべてのライブラリをクリーンアップしている可能性があるclean: clean-intermediates clean-installed-binariesがあると思います。

答えて

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 
になってしまいました
関連する問題