如何使用自定义Android.mk新的gradle构建系统 [英] How to use custom Android.mk with new gradle build system

查看:461
本文介绍了如何使用自定义Android.mk新的gradle构建系统的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道如何使用自定义 Android.mk 老gradle这个:

  sourceSets.main {
        jniLibs.srcDir'的src / main / JNI
        jni.srcDirs = [] //禁用自动NDK的构建通话
    }    //调用定期NDK的构建(.CMD)从app目录的脚本
    任务ndkBuild(类型:执行){
        命令行'/.../android-ndk-r10e/ndk-build','-C',文件(钢骨混凝土/主')。absolutePath
    }    tasks.withType(JavaCompile){
        compileTask - > compileTask.dependsOn ndkBuild
    }

这不是新工作的gradle: com.android.tools.build:gradle-experimental:0.2.0

 错误:原因:com.android.build.gradle.managed.AndroidConfig_Impl


解决方案

新gradle这个实验性的插件,你的配置是:

 模型{
    // ...
    android.sources {
        main.jni {
            资源 {
                srcDirs = ['的src / main /无']
            }
        }
        main.jniLibs {
            资源 {
                srcDirs = ['的src / main /库']
            }
        }
    }
    // ...
}//调用定期NDK的构建(.CMD)从app目录的脚本
任务ndkBuild(类型:执行){
    命令行'/.../android-ndk-r10e/ndk-build','-C',文件(钢骨混凝土/主')。absolutePath
}tasks.withType(JavaCompile){
    compileTask - > compileTask.dependsOn ndkBuild
}

注意gradle这个实验性的插件的那个版本0.3.0-alpha7出来了。

I know how use custom Android.mk with old gradle:

    sourceSets.main {
        jniLibs.srcDir 'src/main/jni'
        jni.srcDirs = [] //disable automatic ndk-build call
    }

    // call regular ndk-build(.cmd) script from app directory
    task ndkBuild(type: Exec) {
        commandLine '/.../android-ndk-r10e/ndk-build', '-C', file('src/main').absolutePath
    }

    tasks.withType(JavaCompile) {
        compileTask -> compileTask.dependsOn ndkBuild
    }

It's not working with new gradle: com.android.tools.build:gradle-experimental:0.2.0 :

Error:Cause: com.android.build.gradle.managed.AndroidConfig_Impl

解决方案

with the new gradle-experimental plugin, your configuration would be:

model {
    //...
    android.sources{
        main.jni {
            source {
                srcDirs = ['src/main/none']
            }
        }
        main.jniLibs {
            source {
                srcDirs = ['src/main/libs']
            }
        }
    }
    //...
}

// call regular ndk-build(.cmd) script from app directory
task ndkBuild(type: Exec) {
    commandLine '/.../android-ndk-r10e/ndk-build', '-C', file('src/main').absolutePath
}

tasks.withType(JavaCompile) {
    compileTask -> compileTask.dependsOn ndkBuild
}

Note that version 0.3.0-alpha7 of the gradle-experimental plugin is out.

这篇关于如何使用自定义Android.mk新的gradle构建系统的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆