我正在尝试使用本机代码构建一个Android库项目。根据{{3}}下的“已知限制”部分,支持混合库项目。但我似乎没有看到在库aar文件的libs文件夹下生成本机文件。
以下是我的项目设置如何
当我运行这个应用程序时,我得到一个UnsatisfiedLinkError,我预计,因为我看到没有原生的文件在aar文件中生成。
这就是我的库build.gradle文件的样子
apply plugin: 'com.android.model.library'
model {
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.1"
}
android.ndk {
moduleName = "native"
cppFlags = ['-std=c++11']
stl = "gnustl_shared"
}
}
这就是我的app模块的build.gradle的样子
apply plugin: 'com.android.model.application'
model {
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.1"
}
}
dependencies {
compile project(':mylibrary')
}
答案 0 :(得分:1)
这是gradle实验0.2.0和0.2.1中的常见问题。遇到同样的问题,升级到0.3.0-alpha4并且它有效(只需在项目的build.gradle中将0.2.0
替换为0.3.0-alpha4
)。要升级,您需要Gradle 2.6(右键单击模块/打开模块设置/选择项目子菜单/将 Gradle版本字段设置为2.6)。请注意,我使用的是Android Studio 1.4 RC3。