我尝试在mac上为android构建v8。我的步骤如下:
echo "target_os = ['android']" >> ../.gclient && gclient sync --nohooks
make android_arm.release android_ndk_root=[full path to ndk]
它说
没有归档符号表(运行ranlib)
我搜索这个问题。这个州有一个bug。但它还没有解决。
我尝试创建d8并推送Android设备。我该怎么做?
编辑
v8指南提供building with GN。我使用gn gen out.gn/arm.release/ --args='is_debug=false android_ndk_root="/path/android-ndk" target_os="android" arm_arch="armv7-a" android_sdk_root="/path/android-sdk-r25" v8_static_library=true android_ndk_version="r11b"'
传递ndk-root路径
然后我运行ninja -C out.gn/arm.release/
,错误如下:
ndk / toolchains / arm-linux-androideabi-4.9 / prebuilt / darwin-x86_64 / lib / gcc / arm-linux-androideabi / 4.9.x / libgcc.a','obj / libv8_base.a'需要,缺少和没有已知的规则来实现它
那是对的。因为我的libgcc下的4.9文件夹不是4.9.x.如何设置libgcc路径?
最新的构建说明位于https://github.com/v8/v8/wiki/Cross-compiling-for-ARM。任何说“make android_arm”的东西都已过时了。
但是,我不知道是否支持在Mac上为Android构建。它肯定适用于Linux(因此您可以尝试在VM中)。如果某些东西不起作用,并且你想让它发挥作用,我们很乐意接受补丁;见https://github.com/v8/v8/wiki/Contributing。
你不需要设置ANDROID_NDK。
第5步:“target_os = ['android']”>> ../.gclient && gclient sync“将ndk下载到”third_party / android_tools / ndk“
ndk_version必须> = 12.b