在Android Studio模块中使用不同的gradle构建工具

时间:2015-11-23 13:38:12

标签: android-studio gradle gradle-experimental

我为具有许多模块的应用程序实现了新的实验构建工具(gradle-experimental:0.2.1),但是当前的api非常糟糕且与某些库不兼容。

我很好奇是否可以将所有ndk代码拉入模块并仅使用实验构建工具处理ndk模块并使用官方构建工具来完成应用程序的其余部分。将所有实验性头痛分成一个小模块会很棒。

我尝试了一些方法,但最终总是出现了gradle sync错误。无法在网上找到关于这是否可行的任何内容。

1 个答案:

答案 0 :(得分:0)

我的部分问题是升级到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。 以下是使其运作的四个主要要求:

    你的ndk模块build.gradle中的
  1. 插件 gradle-experimental:0.4.0 + (也转换为新的DSL
  2. 项目build.gradle 中的
  3. 插件 gradle:1.5.0
  4. Gradle 2.8(gradle:1.5.0插件需要它)
  5. 从主项目中移除所有jni(移至模块),因为它已在1.3.0 +中弃用。
  6. 如果没有这些版本的gradle插件的组合,我会遇到很多错误。解决这个问题令人头疼,但是现在我已经将我的头痛问题与一个简单的模块分开了,我可以整合诸如不能用gradle-experimental做好的崩溃之类的东西。