Я пытаюсь скомпилировать нативный GO код для android с помощью gomobile. Похоже, gomobile не находит ndk-build.
gomobile build -target android hello. go gomobile: нет Android NDK найден в $ ANDROID_HOME / ndk-bundle или в $ ANDROID_NDK_HOME
Я установил Android NDK в каталог ANDROID_HOME, изменил разрешение для папки на 777 и добавил запись экспорта в ~ / .profile, как показано ниже.
echo $ PATH / usr / local / SBIN: / USR / местные / бен: / USR / SBIN: / USR / бен: / SBIN: / бен: / USR / местные / Go / бен: / корень / работа / бен: / корень / ANDROID_HOME / android - ndk-r21 / ndk-build
Я установил gomobile из "https://godoc.org/golang.org/x/mobile/cmd/gomobile" как: go get golang .org / x / mobile / cmd / gomobile
"gomobile init" выполняется без проблем; однако "gomobile bind" выдает то же сообщение об ошибке, что и ошибка сборки gomobile.
Я даже пытался установить переменную env в "/work/src/golang.org/x/mobile/ cmd / gomobile / env. go ", как показано ниже, но вызов 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 vm или в контейнере docker. Ценю ввод и обратную связь.
Спасибо за чтение.