我正在尝试使用一些本机库构建一个android应用程序。 NDK成功构建了库,我可以在...\app\.externalNativeBuild\cmake\debug\arm64-v8a\src\<library>\lib<library>.a
但是,当我运行该应用程序时,出现一个无法满足的链接错误,并且当我分析APK时,找不到本地库;仅libc ++ _ shared.so。 这是应用程序build.gradle的相关部分:
externalNativeBuild {
cmake {
version "3.10.2"
path "../../../CMakeLists.txt"
}
}
defaultConfig {
externalNativeBuild {
cmake {
arguments "-DENABLE_QT=0", // Don't use QT
"-DENABLE_SDL2=0", // Don't use SDL
"-DANDROID_ARM_NEON=true", // cryptopp requires Neon to work
"-DENABLE_CUBEB=0",
"-DANDROID_STL=c++_shared"
abiFilters 'arm64-v8a'
targets "citra-android"
}
}
}
答案 0 :(得分:0)
如果您要询问this repository,那么您的问题出在src/android/app/src/main/cpp/CMakeLists.txt
:
add_library(citra-android STATIC
dummy.cpp
)
您应该使用SHARED
而不是STATIC
来使Gradle生成共享对象文件(.so
)而不是.a
文件。
希望能有所帮助,谢谢。