1、日常常用配置
https://blog.csdn.net/whitley_gong/article/details/55272353
2、implementation与api的区别
https://www.jianshu.com/p/b29c9e677b59
3、配置 cmake
https://blog.csdn.net/afei__/article/details/81271594
4、task配置
https://www.jianshu.com/p/8e89a0b8acf8
5、gradle输出日志
使用println,例如:
https://www.mobibrw.com/2018/15890
输出变量${webrtc_repo}/${webrtc_build_dir}的值:
String argumeName="${webrtc_repo}/${webrtc_build_dir}";
logger.warn(argumeName)
6、task执行cmd命令
参考文章:https://blog.csdn.net/sinat_31057219/article/details/94915262
以下为在win10环境下所用三种方式:
def testCmdOne() {
println "===================开始 命令行方式一 ========================"
def out = new ByteArrayOutputStream()
exec {
println "${projectDir}" //D:\Users\able\AndroidStudioProjects\MyGradle2\app
workingDir "${projectDir}"
println System.getProperty('os.name') //Windows 10
executable 'cmd'
args '/c', 'mkdir E:\\workplace\\MyNativeDemo\\mylujing\\test'
//修改命令输出的地方,默认为控制台
standardOutput = out
}
println out
println "===================结束 命令行方式一 ========================"
}
testCmdOne()
task testCmdTwo(type: Exec) {
println "===================开始 命令行方式二 ========================"
exec {
commandLine 'cmd', '/c', 'mkdir E:\\workplace\\MyNativeDemo\\mylujing\\test'
}
println "===================结束 命令行方式二 ========================"
}
task testCmdThreeo(type: Exec) {
println "===================开始 命令行方式三 ========================"
def cmd = ['cmd', '/c', 'mkdir E:\\workplace\\MyNativeDemo\\mylujing\\test' ]
commandLine cmd
println "===================结束 命令行方式三 ========================"
}
//以下为方式三所用
afterEvaluate {
externalNativeBuildDebug.dependsOn(testCmdThreeo)
externalNativeBuildRelease.dependsOn(testCmdThreeo)
}
方式三必须执行Rebuild Project才可以使命令生效。