Facebook Buck:构建失败:未检测到本机平台。可能 Android NDK 配置不正确
Facebook Buck: BUILD FAILED: No native platforms detected. Probably Android NDK is not configured properly
我正在尝试使用 facebook 的 buck 构建系统 构建 Android 应用程序,但出现 Build Failed
错误。
我在 MAC 和 WINDOWS[=15= 上都遇到同样的错误]
buckconfig 文件
[cache]
mode = dir
[cxx]
default_platform = iphonesimulator-x86_64
cflags = -g -std=c11
cxxflags = -g -std=c++14
# Many ARC APIs don't compile with separate preprocess and compile.
combined_preprocess_and_compile = true
[alias]
demo_app_android = //android:demo-app
demo_app_ios = //ios:BuckDemoApp
[apple]
xctool_zip_target = //third-party/ios/xctool:xctool-minimal-zip
[ndk]
ndk_version = 16.1.4479499
app_platform = android-26
[android]
build_tools_version = 26.0.2
target = Google Inc.:Google APIs:26
[java]
src_roots = /android/java/
source_level = 7
target_level = 7
[project]
default_android_manifest = //android/AndroidManifest.xml
ignore = .buckd, \
.hg, \
.git, \
.idea, \
buck-cache, \
buck-out, \
环境变量:
$ env | grep ANDROID_
ANDROID_HOME=<path>/Android/sdk
ANDROID_NDK_REPOSITORY=<path>/Android/sdk/ndk-bundle
ANDROID_SDK=<path>/Library/Android/sdk
错误堆栈跟踪:
Building: finished in 0.0 sec
Total time: 0.0 sec
BUILD FAILED: No native platforms detected. Probably Android NDK is not configured properly.
我没有得到我所缺少的。感谢您的帮助。
谢谢
我在尝试构建示例 Android APP 时遇到了同样的错误。我尝试了几件事来清楚地了解 .buckconfig 设置和环境变量的行为。
设置ndk_path
可以直接设置ndk路径。我已经设置了这个变量而不是设置 ndk_version(例如 'r10e') 请记住
The environment variables ANDROID_NDK and NDK_HOME both supercede
the buckconfig setting.
创建一个 repo 文件夹(推荐)
下载 ndk bundle 并将其解压缩到一个用作存储库文件夹的文件夹中,并将其设置为 ANDROID_NDK_REPOSITORY env var。所以路径可以用来获取正确的ndk版本。在这种情况下,您唯一需要做的就是设置 NDK 包的版本,buck 会自动为您获取正确的版本。
目前 Buck 与 Java9 有错误。
只是为了添加更多。
如果您使用 java9 然后降级到 java8 因为 buck 使用 sun/misc/BASE64Encoder
已在 java9.
中删除
将 java8 和 java9 的版本保留在 mac 中。我在 .bash_profile
.
中实现了以下命令行
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_9_HOME=$(/usr/libexec/java_home -v9)
alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java9='export JAVA_HOME=$JAVA_9_HOME'
#default java8
export JAVA_HOME=$JAVA_8_HOME
尝试使用旧版本的 NDK(15 或更早版本)并确保 /Android/sdk/ndk-bundle
包含该版本的目录,使其看起来像 /Android/sdk/ndk-bundle/android-ndk-r15
.
我正在尝试使用 facebook 的 buck 构建系统 构建 Android 应用程序,但出现 Build Failed
错误。
我在 MAC 和 WINDOWS[=15= 上都遇到同样的错误]
buckconfig 文件
[cache]
mode = dir
[cxx]
default_platform = iphonesimulator-x86_64
cflags = -g -std=c11
cxxflags = -g -std=c++14
# Many ARC APIs don't compile with separate preprocess and compile.
combined_preprocess_and_compile = true
[alias]
demo_app_android = //android:demo-app
demo_app_ios = //ios:BuckDemoApp
[apple]
xctool_zip_target = //third-party/ios/xctool:xctool-minimal-zip
[ndk]
ndk_version = 16.1.4479499
app_platform = android-26
[android]
build_tools_version = 26.0.2
target = Google Inc.:Google APIs:26
[java]
src_roots = /android/java/
source_level = 7
target_level = 7
[project]
default_android_manifest = //android/AndroidManifest.xml
ignore = .buckd, \
.hg, \
.git, \
.idea, \
buck-cache, \
buck-out, \
环境变量:
$ env | grep ANDROID_
ANDROID_HOME=<path>/Android/sdk
ANDROID_NDK_REPOSITORY=<path>/Android/sdk/ndk-bundle
ANDROID_SDK=<path>/Library/Android/sdk
错误堆栈跟踪:
Building: finished in 0.0 sec
Total time: 0.0 sec
BUILD FAILED: No native platforms detected. Probably Android NDK is not configured properly.
我没有得到我所缺少的。感谢您的帮助。
谢谢
我在尝试构建示例 Android APP 时遇到了同样的错误。我尝试了几件事来清楚地了解 .buckconfig 设置和环境变量的行为。
设置ndk_path
可以直接设置ndk路径。我已经设置了这个变量而不是设置 ndk_version(例如 'r10e') 请记住
The environment variables ANDROID_NDK and NDK_HOME both supercede the buckconfig setting.
创建一个 repo 文件夹(推荐)
下载 ndk bundle 并将其解压缩到一个用作存储库文件夹的文件夹中,并将其设置为 ANDROID_NDK_REPOSITORY env var。所以路径可以用来获取正确的ndk版本。在这种情况下,您唯一需要做的就是设置 NDK 包的版本,buck 会自动为您获取正确的版本。
目前 Buck 与 Java9 有错误。
只是为了添加更多。
如果您使用 java9 然后降级到 java8 因为 buck 使用 sun/misc/BASE64Encoder
已在 java9.
将 java8 和 java9 的版本保留在 mac 中。我在 .bash_profile
.
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_9_HOME=$(/usr/libexec/java_home -v9)
alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java9='export JAVA_HOME=$JAVA_9_HOME'
#default java8
export JAVA_HOME=$JAVA_8_HOME
尝试使用旧版本的 NDK(15 或更早版本)并确保 /Android/sdk/ndk-bundle
包含该版本的目录,使其看起来像 /Android/sdk/ndk-bundle/android-ndk-r15
.