我已经为具有许多模块的应用程序实现了新的实验性构建工具(gradle-experimental:0.2.1),但是当前的 api 非常糟糕并且与某些库不兼容。
我很好奇是否可以将所有 ndk 代码拉到一个模块中,只使用实验性构建工具处理 ndk 模块,并为应用程序的其余部分使用官方构建工具。将所有令人头疼的实验性问题分离到一个小模块中会很棒。
我尝试了一些事情,但总是以 gradle 同步错误告终。在网上找不到任何关于这是否可行的信息。
我已经为具有许多模块的应用程序实现了新的实验性构建工具(gradle-experimental:0.2.1),但是当前的 api 非常糟糕并且与某些库不兼容。
我很好奇是否可以将所有 ndk 代码拉到一个模块中,只使用实验性构建工具处理 ndk 模块,并为应用程序的其余部分使用官方构建工具。将所有令人头疼的实验性问题分离到一个小模块中会很棒。
我尝试了一些事情,但总是以 gradle 同步错误告终。在网上找不到任何关于这是否可行的信息。
我的部分问题是升级到 AS 2.0 时出现的问题。解决了这个问题后,我可以使用 Hello World 模板项目进行快速测试。我添加了一个模块并对其进行了修改以使用实验插件。
build.gradle(ndk 模块)
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle-experimental:0.4.0"
}
}
dependencies {
repositories {
jcenter()
}
}
apply plugin: 'com.android.model.library'
model {
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.2"
defaultConfig.with {
minSdkVersion.apiLevel = 11
targetSdkVersion.apiLevel = 22
versionCode = 1
versionName = "1"
}
}
}
摘要更新
我设法让它在一个更复杂的项目中与 ndk 一起工作。以下是使其正常工作的四个主要条件:
如果没有这些版本的 gradle 插件的组合,我会遇到很多错误。解决这些问题有点头疼,但现在我已经将我的 ndk 头痛分离到一个简单的模块中,我可以集成诸如 crashlytics 之类的东西,这些东西在 gradle-experimental 中不能很好地发挥作用。