【问题标题】:Path variable not recognized in Android Studio (ndk-build command is not recognized)Android Studio 中无法识别路径变量(无法识别 ndk-build 命令)
【发布时间】:2015-01-13 16:02:32
【问题描述】:

我有一个无法识别为 ndk-build 设置的 PATH 变量的 Android Studio 项目。

如果我从终端运行ndk-build,我会得到:

stpns-MacBook-Pro:~ stepanboltalin$ ndk-build
  Android NDK: Could not find application project directory !    
  Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.    
  /usr/local/Cellar/android-ndk/r10b/build/core/build-local.mk:148: *** Android NDK: Aborting    .  Stop.

但是如果我尝试在 Android Studio 中编译项目,我会在 'ndk-build' commmandLine 处收到错误(以下是 build.gradle 的摘录:

task ndkBuild(type: Exec) {

 # some stuff... 

    if (ant.properties.os == 'windows') {
        commandLine 'ndk-build.cmd'
    } else {
        commandLine 'ndk-build'
    }


}

现在如果我添加绝对路径一切正常:

task ndkBuild(type: Exec) {

 # some stuff... 

    if (ant.properties.os == 'windows') {
        commandLine 'ndk-build.cmd'
    } else {
        commandLine '/usr/local/opt/ndk-build'
    }


}

尽管问题似乎已经解决,但像这样的 build.gradle 对于开发来说并不是最佳选择。我怎样才能解决这个问题?

【问题讨论】:

  • 在哪里将/use/local/opt/ndk 添加到PATH?应该是~/.profile
  • 是的,我试过 .bash_profile 和 .profile
  • .bash_profile 不好,因为您可能不会从命令行运行您的 AS。

标签: macos path android-ndk gradle android-studio


【解决方案1】:

您可以在根项目的 local.properties 文件中添加 NDK 的路径:

ndk.dir=/opt/android/ndk

然后像这样替换 ndk-build 的调用:

def localProperties = new Properties()
localProperties.load(project.rootProject.file('local.properties').newDataInputStream())
def ndkDir = localProperties.getProperty('ndk.dir')
def ndkBuildPrefix = ndkDir != null ? ndkDir + '/' : '';

if (ant.properties.os == 'windows') {
    commandLine ndkBuildPrefix + 'ndk-build.cmd'
} else {
    commandLine ndkBuildPrefix + 'ndk-build'
}

【讨论】:

  • 嗨@Laszio kustra 我设置了 ndk.dir=/opt/android/ndk 。但我无法理解我可以将您的以下代码放在哪里。请告诉我。
  • 在 build.gradle 中新建一个 Exec 类型的任务,并在其主体中使用上面的代码。任务的名称可以是任何名称。
猜你喜欢
  • 2015-05-28
  • 1970-01-01
  • 2011-05-20
  • 2014-04-02
  • 1970-01-01
  • 2018-05-25
  • 2016-09-11
  • 2015-04-19
  • 2023-03-31
相关资源
最近更新 更多