Skip to content

build deno for aarch64-linux-android (编译 Android 上运行的 deno)

License

Notifications You must be signed in to change notification settings

fm-elpac/v8-src

Repository files navigation

Build deno android

https://github.com/fm-elpac/v8-src/tree/deno-1.36

build deno-1.36

This project build deno for android (aarch64), with the help of these tools:

本项目编译能在 Android (aarch64) 运行的 deno, 使用以下工具:

  • termux-docker

    provide the docker image for aarch64 android.

    提供 aarch64 Android 的 docker 镜像.

  • cargo-cross-build

    run build.rs on target.

    在编译目标设备上运行 build.rs.

(See deno issue #19759: denoland/deno#19759) (详见这个问题)

  • aarch64-linux-android

  • x86_64-linux-android

  • aarch64-unknown-linux-gnu

Download deno binary: https://github.com/fm-elpac/v8-src/releases

请从发布页下载编译好的 deno 二进制可执行文件.

What does not work

Currently known BUG (android):

已知 BUG (Android):

  • ICU

  • deno_ffi

The test suite is not run, so maybe more not work !

没有在 Android 上运行自动化测试, 可能有更多 BUG !

Test run

运行测试:

  • aarch64-linux-android

    > adb push deno /data/local/tmp/deno-test
    deno: 1 file pushed, 0 skipped. 31.9 MB/s (150381040 bytes in 4.496s)
    > adb shell
    violet:/ $ cd /data/local/tmp/deno-test
    violet:/data/local/tmp/deno-test $ ls -al
    total 147014
    drwxrwxrwx 2 shell shell      3488 2023-08-24 15:16 .
    drwxrwx--x 4 shell shell      3488 2023-08-24 14:45 ..
    -rwxrwxrwx 1 shell shell 150381040 2023-08-24 15:13 deno
    violet:/data/local/tmp/deno-test $ export HOME=$(pwd)
    violet:/data/local/tmp/deno-test $ ./deno --version
    deno 1.36.2 (release, aarch64-linux-android)
    v8 11.7.439.1
    typescript 5.1.6
    violet:/data/local/tmp/deno-test $ ./deno
    Deno 1.36.2
    exit using ctrl+d, ctrl+c, or close()
    REPL is running with all permissions allowed.
    To specify permissions, run `deno repl` with allow flags.
    > 0.1 + 0.2
    0.30000000000000004
    > Deno.version
    { deno: "1.36.2", v8: "11.7.439.1", typescript: "5.1.6" }
    >
    
  • aarch64-unknown-linux-gnu

    orangepi@orangepizero3:~$ ./deno --version
    deno 1.36.2 (release, aarch64-unknown-linux-gnu)
    v8 11.7.439.1
    typescript 5.1.6
    orangepi@orangepizero3:~$ ./deno
    Deno 1.36.2
    exit using ctrl+d, ctrl+c, or close()
    REPL is running with all permissions allowed.
    To specify permissions, run `deno repl` with allow flags.
    > 0.1 + 0.2
    0.30000000000000004
    > Deno.version
    { deno: "1.36.2", v8: "11.7.439.1", typescript: "5.1.6" }
    >