tec*_*h74 11 android gradle android-ndk
我想在MAC OSX Yosemite上的Android Studio 1.0项目中从我的build.gradle运行ndk-build.
task ndkBuild(type: Exec) {
commandLine 'ndk-build', '-C', file('src/main').absolutePath
}
Run Code Online (Sandbox Code Playgroud)
我在local.properties文件中指定了ndk-dir,但是我收到了这个错误
A problem occurred starting process 'command 'ndk-build'
Run Code Online (Sandbox Code Playgroud)
如果我从命令行运行gradle脚本,那么一切都成功构建
./gradlew :myproject:assembleDebug
Run Code Online (Sandbox Code Playgroud)
因此,由于某种原因,IDE无法调用ndk-build.我在Android studio中启用了一些调试信息,我有以下错误
Caused by: java.io.IOException: error=2, No such file or directory
Run Code Online (Sandbox Code Playgroud)
因此IDE无法找到ndk-build exe,但是从IDE内部的终端运行可以找到ndk-build exe.
谢谢
hbr*_*brc 14
编辑
您现在可以像这样检索路径:
android.ndkDirectory.getAbsolutePath()
Run Code Online (Sandbox Code Playgroud)
我更新了下面的示例.
正如您在评论中所说,commandLine需要ndk-build程序的路径才能使其工作.这是一种在build.gradle中检索ndk路径的方法:
// call regular ndk-build script from app directory
task ndkBuild(type: Exec) {
def ndkDir = android.ndkDirectory.getAbsolutePath()
commandLine ndkDir + "/ndk-build", '-C', file('src/main').absolutePath
}
Run Code Online (Sandbox Code Playgroud)
你将有一个"无法推断参数类型"的lint警告,你可以放心地忽略这个警告.添加// noinspection GroovyAssignabilityCheck以摆脱它.
这是用gradle 1.2.3测试的
| 归档时间: |
|
| 查看次数: |
5746 次 |
| 最近记录: |