#android #gradle #android-ndk #assimp
#Android #gradle #android-ndk #assimp
Вопрос:
Я сталкиваюсь с этой ошибкой в Android Studio 2.2.1 Ошибка: файл ссылки на общую библиотеку E:path3dmodelndkAssimpAndroid-masterappsrcmainexternalsassimp-3.0libsarmeabi-v7alibassimp.so не существует для предварительно созданной общей библиотеки ‘my_assimp: armeabi-v7aDebugShared’
build.gradle:
// Assimp prebuilt shared lib
my_assimp {
// Inform Android Studio where header file dir for this lib
headers.srcDir "src/main/externals/assimp-3.0/include"
// Inform Android Studio where lib is -- each ABI should have a lib file
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/externals/assimp-3.0/libs/"
"${targetPlatform.getName()}/libassimp.so")
}
}
buildForAndroid.sh:
//!/bin/sh
//Path to Android NDK
export ANDROID_NDK=$Android_NDK
//Points to the Android SDK
export ANDROID_SDK=$Android_SDK
export PATH=$PATH:$ANDROID_SDK/tools
export PATH=$PATH:$ANDROID_SDK/platform-tools
export PATH=$PATH:$ANDROID_SDK/tools/bin
//from https://github.com/taka-no-me/android-cmake
export ANDROID_STANDALONE_TOOLCHAIN=$ANDROID_SDK/cmake/3.6.3155560 /android.toolchain.cmake
//Add additional args here as appropriate
cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_STANDALONE_TOOLCHAIN
-DANDROID_NDK=$ANDROID_NDK
-DCMAKE_BUILD_TYPE=Release
-DANDROID_ABI="x86"
-DANDROID_NATIVE_API_LEVEL=android-9
-DANDROID_FORCE_ARM_BUILD=TRUE
-DCMAKE_INSTALL_PREFIX=install
..
//This is to remove the versioned shared libs in assimp.
sed -i s/-soname,libassimp.so.3/-soname,libassimp.so/g code/CMakeFiles/assimp.dir/link.txt
//make -j4