我尝试将库添加到项目中,但是Android Studio忽略了我的库。
这是我的CmakeLists.txt文件:
add_library(mylib SHARED IMPORTED)
set_target_properties(mylib PROPERTIES IMPORTED_LOCATION src/main/libs/${ANDROID_ABI}/libmylib.so)
在构建apk之后,它并不包含libmylib.so。如何使用cmake将预编译库添加到项目中?
我尝试将库添加到项目中,但是Android Studio忽略了我的库。
这是我的CmakeLists.txt文件:
add_library(mylib SHARED IMPORTED)
set_target_properties(mylib PROPERTIES IMPORTED_LOCATION src/main/libs/${ANDROID_ABI}/libmylib.so)
在构建apk之后,它并不包含libmylib.so。如何使用cmake将预编译库添加到项目中?
目前需要通过应用程序对其进行打包。可以是以下内容:
sourceSets {
main {
// let gradle pack the shared library into apk
jniLibs.srcDirs = ['point/to/your/shared-lib']
}
}
一个例子是:https://github.com/googlesamples/android-ndk/blob/master/hello-libs/app/build.gradle 如果您的共享库[您的共享库位于项目路径内]靠近您的项目,请将共享库的相对路径放在您的CMakeLists.txt中即可。
这个错误底部的一些背景讨论可能会有所帮助:https://code.google.com/p/android/issues/detail?id=214664&can=8&q=vulkan&colspec=ID%20Status%20Priority%20Owner%20Summary%20Stars%20Reporter%20Opened
1 - 在根目录下创建一个新文件夹:/libs,并将您的外部库放在其中。
2 - 更改项目结构。
yourprojectname/
app/
- build.gradle // Local Gradle configuration (for app only)
...
libs/
libraryName/
- build.gradle // Local Gradle configuration (for library only)
- build.gradle // Global Gradle configuration (for whole project)
- settings.gradle
- gradle.properties
...
3 - 别忘了将 gradle.setting 更改为
include ':app', ':libraryName'
project(':libraryName').projectDir = new File('libs/libraryName')
4-在app/build.gradle中添加你的库
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile project(":PagerSlidingTabStrip")
}
在Android Studio中有一种方法可以添加库,以便配置gradle和项目结构,具体步骤如下:
1.选择文件/项目结构
2.在模块部分找到你的项目,在“依赖项”选项卡中添加你的库