在$Android_HOME/NDKbundle中找不到Android NDK,在Ubuntu 18.04中的$Android



我正在尝试用gomobile为android编译原生GO代码。看起来gomobile没有找到ndk版本。

gomobile构建-目标android hello.gogomobile:在$Android_HOME/NDK捆绑包或$Android _NDK_HOME 中都找不到Android NDK

我已经在Android_HOME目录中安装了Android NDK,将文件夹的权限更改为777,并在~/.profile中添加了一个导出条目,如下所示。

echo$PATH/usr/local/sbin:/usr/local/bin:/usr/bin:/sbin:/usr/local/go/bin:/root/work/bin:/root/ANDROID_HOME/ANDROID-ndk-r21/ndk build

我从"https://godoc.org/golang.org/x/mobile/cmd/gomobile"作为:转到golang.org/x/mobile/cmd/gomobile

"gomobileinit"执行时没有问题;然而,"gomobilebind"给出了与gomobilebuild错误相同的错误台面。

我甚至尝试在"/work/src/golang.org/x/mobile/cmd/gomobile/env.go"文件中设置env变量,如下所示,但操作系统。GetEnv调用返回空白。

os.Setenv("ANDROID_HOME", "/home/usr/ANDROID_HOME/ndk-bundle/android-ndk-r21/ndk-build")
androidHome := os.Getenv("ANDROID_HOME")
if androidHome != "" {
ndkRoot := filepath.Join(androidHome, "ndk-bundle")
_, err := os.Stat(ndkRoot)
if err == nil {
return ndkRoot, nil
}
}

无论我在Ubuntu18.04vm还是docker容器中运行,构建都会失败。感谢您的意见和反馈。

感谢阅读。

在遇到类似问题时,对我有效的是。

  1. 确保ndk bundle文件夹存在于

/Users/username/Library/Android/sdk

  1. 运行此

export ANDROID_NDK_HOME=/Users/用户名/Library/ANDROID/sdk

  1. 运行

gomobile构建-目标android hello.go

最新更新