在Mac上为Android构建V8

问题描述 投票:1回答:2

我尝试在mac上为android构建v8。我的步骤如下:

  1. 安装depot_tools
  2. 获取v8
  3. cd v8
  4. git checkout branch-name(android的最后一个稳定版)
  5. echo "target_os = ['android']" >> ../.gclient && gclient sync --nohooks
  6. 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路径?

android android-ndk cross-compiling v8
2个回答
1
投票

最新的构建说明位于https://github.com/v8/v8/wiki/Cross-compiling-for-ARM。任何说“make android_arm”的东西都已过时了。

但是,我不知道是否支持在Mac上为Android构建。它肯定适用于Linux(因此您可以尝试在VM中)。如果某些东西不起作用,并且你想让它发挥作用,我们很乐意接受补丁;见https://github.com/v8/v8/wiki/Contributing


1
投票

你不需要设置ANDROID_NDK。

第5步:“target_os = ['android']”>> ../.gclient && gclient sync“将ndk下载到”third_party / android_tools / ndk“

ndk_version必须> = 12.b

© www.soinside.com 2019 - 2024. All rights reserved.