因为当前使用的仓库快照中没有android platform tools,如果使用archlinux riscv的包会由于库的版本不对应提示找不到,所以尝试自己编译。
1.源码与构建需求
- android tools:使用的版本是35.0.1。
-
golang
:为了新的兼容性,使用go.dev提供的go1.22.3.linux-riscv64。 -
gcc
与其它依赖:使用仓库提供的版本。使用如下命令安装。
sudo apt install build-essential ninja-build libusb-1.0-0-dev libprotobuf-dev libbrotli-dev
2.构建
似乎是gcc在riscv 64下的bug,需要手动设置-latomic
。
构建命令参考archlinux关于android-tools
包的PKGBUILD
文件
export CFLAGS="-latomic"
export CFFFLAGS="${CFLAGS}"
export CC=gcc
cmake \
-DCMAKE_INSTALL_PREFIX="/usr" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
-DCMAKE_C_FLAGS="$CFLAGS" \
-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON \
-Dprotobuf_MODULE_COMPATIBLE=ON \
-G Ninja -S . -B build
cmake --build build -j4
3.安装
- 安装程序本体
ninja -C build install
- 安装udev规则,可以使用archlinux提供的udev规则
下载完成后解压至根目录
sudo tar xf android-udev-*.pkg.tar.zst -C /
重启之后就可以正常使用。