2017-04-12 7 views
0

Ich versuche, V8 für Android auf dem Mac zu bauen. Meine Schritte sind unten:V8 Build für Android auf dem Mac

  1. Installieren depot_tools
  2. holen v8
  3. CD v8
  4. git checkout branch-name (letzte stabile Version für Android)
  5. echo "target_os = ['android']" >> ../.gclient && gclient sync --nohooks
  6. make android_arm.release android_ndk_root=[full path to ndk]

Es sagt, dass

kein Archiv Symboltabelle (run ranlib)

ich dieses Problem suchen. Für diesen Status gibt es eine bug. Aber es ist noch nicht gelöst.

Ich versuche, d8 zu erstellen und das Android-Gerät zu drücken. Wie kann ich es tun?

EDIT

v8 Handbuch enthält building with GN. I NDK-Root-Pfad unter Verwendung von 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"'

Dann gehe ich laufen ninja -C out.gn/arm.release/, der Fehler ist unten:

NDK/Werkzeugketten/Arm-Linux-androideabi-4,9/prebuilt/Darwin-x86_64/lib/gcc/Arm-linux-androideabi/4.9.x/libgcc.a‘, benötigt von 'obj/libv8_base.a', fehlt und ohne bekannte Regel, um es

das ist richtig. Weil mein libgcc unter 4.9 Ordner nicht 4.9.x. Wie kann ich den libgcc-Pfad festlegen?

+0

Haben Sie Fortschritte seit dem letzten Mal – pkanev

Antwort

0

Die aktuellen Bauanleitungen finden Sie unter . Alles, was "make android_arm" sagt, ist veraltet.

Allerdings weiß ich nicht, ob das Erstellen für Android auf Mac unterstützt wird. Es funktioniert definitiv auf Linux (Sie könnten also in einer VM versuchen). Wenn etwas nicht funktioniert und Sie es zum Laufen bringen wollen, akzeptieren wir gerne Patches; siehe https://github.com/v8/v8/wiki/Contributing.

+0

? Sie auf dem Laufenden gemacht Wie kann ich v8 mit externen NDK bauen? Kreuz complinig Führung nicht anyting sagt. ich run ‚exportieren ANDROID_NDK =/path/to/NDK‘. Dann laufen 'ninja -C Out.gn/arm.release d8'. Es besagt, dass ligcc nicht gefunden wird. Guide ist nicht genug, um v8 zu erstellen. –

+0

Standardmäßig wird das NDK, das über 'gclient' ausgecheckt wurde, aus praktischen Gründen verwendet Möglichkeit, Ihr eigenes i s wahrscheinlich, es zu überschreiben, schau in 'third_party/android_tools /'. – jmrk

+0

Ich lösche ndk und verschiebe die externe ndk unter 'third_party/android_tools /'. Aber es funktioniert nicht. –

0

müssen Sie nicht ANDROID_NDK festlegen.

Schritt 5: "target_os = [ 'android']" >> ../.gclient & & gclient sync“wird NDK Download "third_party/android_tools/NDK"

ndk_version muss> = 12.b