【问题标题】:Use different gradle build tools in Android Studio module在 Android Studio 模块中使用不同的 gradle 构建工具
【发布时间】:2015-11-23 13:38:12
【问题描述】:

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

我很好奇是否可以将所有 ndk 代码提取到一个模块中,并且只使用实验性构建工具处理 ndk 模块,并为应用程序的其余部分使用官方构建工具。将所有令人头疼的实验性问题分成一个小模块会很棒。

我尝试了一些方法,但总是以 gradle 同步错误告终。在网上找不到任何关于这是否可行的信息。

【问题讨论】:

    标签: android-studio gradle gradle-experimental


    【解决方案1】:

    我的部分问题是升级到 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 一起工作。 以下是使其工作的四个主要必要条件:

    1. 插件 gradle-experimental:0.4.0+ 在您的 ndk 模块 build.gradle 中(也转换为新的 DSL
    2. 插件 gradle:1.5.0 在您的项目 build.gradle
    3. Gradle 2.8(gradle:1.5.0 插件需要它)
    4. 从主项目中删除所有 jni(移至模块),因为它在 1.3.0+ 中已弃用。

    如果没有这些版本的 gradle 插件的组合,我会遇到很多错误。解决问题有点头疼,但现在我已经将我的 ndk 头痛分离到一个简单的模块中,并且我可以集成一些不能很好地与 gradle-experimental 配合使用的东西,例如 crashlytics。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2014-04-10
      • 1970-01-01
      • 2019-03-12
      • 2017-10-11
      相关资源
      最近更新 更多