从AUR安装,需要使用multilib仓库。
# yaourt -S android-sdk android-sdk-platform-tools android-sdk-build-tools
安装时如果没有修改PKGBUILD,则会安装在 /opt/android-sdk 路径下。
AUR上可能不是最新,则手动:http://developer.android.com/sdk/index.html#download
目前是
wget https://dl.google.com/android/adt/22.6.2/adt-bundle-linux-x86-20140321.zip
然后获取Getting Android SDK platform API
# PATH=$PATH:/opt/android-sdk/platform-tools:/opt/android-sdk/tools
# export PATH
# android
Tool -> options 菜单下使用 http_proxy: mirrors.neusoft.edu.cn:80,强制使用 http 替代 https
Package 下 Reload,选择需要的包,install,accept license
完成后,确认 android-sdk 的权限:
# chmod -R 755 /opt/android-sdk
按 develop.android.com 上,可以直接放在个人路径下,并且有自己的 Android Developer Tools.
也可以使用 Eclipse,还有 Netbeans
# yaourt -S android-udev
连接 android device with usb debugging enabled (On Android 4.2 (Jelly Bean) the Development menu is hidden; to enable it go to Settings => About phone and tap Build number 7 times)。
$ lsusb
Bus 002 Device 004: ID 0bb4:0c87 HTC (High Tech Computer Corp.) Desire (debug)
说明已经ok了,可以查看(AUR安装得到):
$ $ cat /etc/udev/rules.d/ARM_debug_tools.rules
SUBSYSTEM!="usb_device", ACTION!="add", GOTO="ARM_debug_tools_rules_end"
# RealView-ICE
ATTRS{idVendor}=="0d28", ATTRS{idProduct}=="0001", MODE="0666"
# RealView Trace 2 (beta)
ATTRS{idVendor}=="0d28", ATTRS{idProduct}=="f013", MODE="0666"
# RealView Trace 2
ATTRS{idVendor}=="0d28", ATTRS{idProduct}=="0100", MODE="0666"
# DSTREAM
ATTRS{idVendor}=="0d28", ATTRS{idProduct}=="0003", MODE="0666"
# DSTREAM Trace
ATTRS{idVendor}=="0d28", ATTRS{idProduct}=="0103", MODE="0666"
# RDDI DAP
ATTRS{product}=="*CMSIS-DAP*", MODE="0666"
# Keil ULINK Pro
ATTRS{idVendor}=="c251", ATTRS{idProduct}=="2730", MODE="0666"
LABEL="ARM_debug_tools_rules_end"
如果需要(VENDOR ID 和 PRODUCT ID 对于我这个 HTC Desire 就是 0bb4 和 0c87),可与 usb-blaster 对照:
# vi /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="[VENDOR ID]", MODE="0666"
SUBSYSTEM=="usb",ATTR{idVendor}=="[VENDOR ID]",ATTR{idProduct}=="[PRODUCT ID]",SYMLINK+="android_adb"
SUBSYSTEM=="usb",ATTR{idVendor}=="[VENDOR ID]",ATTR{idProduct}=="[PRODUCT ID]",SYMLINK+="android_fastboot"
# udevadm control --reload-rules
Instead of using udev rules you may create/edit ~/.android/adb_usb.ini which contains list of vendor ids.
$ cat ~/.android/adb_usb.ini
# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x27e8
如果重新建立了udev rules,需要 unplug 设备并 replug。
$ adb devices
List of devices attached
HT08YPL01453 device
如果用户没有操作该 device 权限(查看 udev rules 组权限,如只能 adbusers 组使用), 需要将自己加入相应的用户组,如:
# gpasswd -a username adbusers
Building Android
ok,又是依赖(可以和 uClinux-dist 相互补充):
# pacman -S gcc git gnupg flex bison gperf sdl wxgtk squashfs-tools curl \
ncurses zlib schedtool perl-switch zip unzip libxslt python2-virtualenv \
gcc-multilib lib32-zlib lib32-ncurses lib32-readline
而且,Android 只能使用 Sun/Oracle JDK,不能使用 OpenJDK,好吧!
安装repo 和 Source
mkdir ~/bin # ~/.profile 中有将 ~/bin 加入 PATH 的脚本
$ curl -x 127.0.0.1:8087 https://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo #gogagent有的吧?!
$ mkdir ~/android # WORK_DIRECTORY
$ cd ~/android
启用python2版本环境
$ virtualenv2 venv
$ source venv/bin/activate
下载最新版本 master 分支(或自定分支)
$ export http_proxy="127.0.0.1:8087"
$ repo init -u https://android.googlesource.com/platform/manifest -b master
$ repo sync -j4