gpt4 book ai didi

go - 在 Ubuntu 18.04 的 $ANDROID_HOME/ndk-bundle 和 $ANDROID_NDK_HOME 中都没有找到 Android NDK

转载 作者:行者123 更新时间:2023-12-05 07:10:55 27 4
gpt4 key购买 nike

我正在尝试使用 gomobile 为 android 编译 native GO 代码。看起来 gomobile 没有找到 ndk-build。

gomobile build -target android hello.gogomobile:在 $ANDROID_HOME/ndk-bundle 和 $ANDROID_NDK_HOME 中均未找到 Android NDK

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

回显$PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin:/root/work/bin:/root/ANDROID_HOME/android-ndk-r21/ndk-build

我从“https://godoc.org/golang.org/x/mobile/cmd/gomobile”安装了 gomobile 为:去获取 golang.org/x/mobile/cmd/gomobile

“gomobile init”执行没有问题;然而,“gomobile bind”给出了与 gomobile 构建错误相同的错误消息。

我什至尝试在“/work/src/golang.org/x/mobile/cmd/gomobile/env.go”文件中设置 env 变量,如下所示,但 os.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
}
}

无论我在 Ubuntu 18.04 虚拟机还是 docker 容器中运行,构建都会失败。感谢输入和反馈。

感谢阅读。

最佳答案

当我遇到类似问题时,对我有用的是。

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

/Users/username/Library/Android/sdk

  1. 运行这个

export ANDROID_NDK_HOME=/Users/username/Library/Android/sdk

  1. 运行你的

gomobile build -target android hello.go

关于go - 在 Ubuntu 18.04 的 $ANDROID_HOME/ndk-bundle 和 $ANDROID_NDK_HOME 中都没有找到 Android NDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61052574/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com