作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正尝试在 MAC OSX Yosemite 上的 Android Studio 1.0 项目中从我的 build.gradle 运行 ndk-build。
task ndkBuild(type: Exec) {
commandLine 'ndk-build', '-C', file('src/main').absolutePath
}
我已经在 local.properties 文件中指定了 ndk-dir 但我收到了这个错误
A problem occurred starting process 'command 'ndk-build'
如果我像这样从命令行运行 gradle 脚本,一切都会成功构建
./gradlew :myproject:assembleDebug
因此出于某种原因,IDE 无法调用 ndk-build。我启用了一些调试信息Android studio和我出现如下错误
Caused by: java.io.IOException: error=2, No such file or directory
因此 IDE 找不到 ndk-build exe,但是从 IDE 内的终端运行可以找到 ndk-build exe。
谢谢
最佳答案
编辑
您现在可以像这样检索路径:
android.ndkDirectory.getAbsolutePath()
我更新了下面的示例。
正如您在评论中所说,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
}
您将收到“无法推断参数类型”的 lint 警告,您可以安全地忽略此警告。添加 //noinspection GroovyAssignabilityCheck
以摆脱它。
这是用 gradle 1.2.3 测试的
关于android - 无法从 osx 优胜美地上的 gradle 在 Android studio 上运行 ndk-build,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27520191/
我是一名优秀的程序员,十分优秀!