操作系统:Ubuntu 15.10 x64
目标:安装 Android SDK
本文最后更新时间:2015-11-3
安装32位库文件
2013年9月的iPhone 5s是第一款64位手机,而Android手机大部分用的还是32位系统,落后了两年。
Android SDK中的adb程序是32位的,Ubuntu x64系统需要安装32位库文件,用于兼容32位的程序。如果不安装,adb会出错:java.io.IOException: error=2
sudo apt-get install -y libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1
安装Android SDK
安装jdk
sudo apt-get install openjdk-7-jdk
官方下载页面,选择“USE AN EXISTING IDE”,下载不含IDE的纯SDK:官网 http://developer.android.com/sdk/index.html ,国内镜像 http://gmirror.org/#android-sdk-tools-only
cd ~/Downloads/
wget http://dl.gmirror.org/android/android-sdk_r24.4.1-linux.tgz
tar -zxvf android-sdk_r24.4.1-linux.tgz
echo 'export ANDROID_HOME="'$HOME'/Downloads/android-sdk-linux"' >> ~/.bashrc
echo 'export PATH="$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools"' >> ~/.bashrc
echo 'export JAVA_CMD="/usr/lib/jvm/java-7-openjdk-amd64/bin/java"' >> ~/.bashrc
关闭“终端”,再开启一个“终端”,让环境变量生效。
启动Android SDK Manager
android
根据需要,选择最新版的Android SDK Platform-tools、Samples for SDK等等下载即可(约2.6GB)。
注意:一定要安装Android Support Repository,否则gradle会报错。
如果下载速度慢,有2个办法:
1、配hosts:ping g.cn,为dl-ssl.google.com设置hosts,并且在Android SDK Manager——》菜单——》Tools——》Options中选中“Force https to http”
2、国内cdn镜像下载:todo
adb识别Android设备出现空白或问号
Android设备通过USB线连接电脑。执行命令:
adb devices
如果显示空白或者问号(List of devices attached ???????????? no permissions),说明无法识别这款设备,修改配置即可,步骤如下。
插上手机时运行
lsusb
拔下手机再运行lsusb,少了一行,那个就是设备。
比如Bus 002 Device 003: ID 0bb4:0ccf High Tech Computer Corp. 表示HTC的厂商ID为0bb4
小米1S的 Bus 002 Device 007: ID 18d1:9025 Google Inc.,表示小米的厂商ID为18d1
锤子手机Smartisan T1是Bus 003 Device 019: ID 29a9:7019,表示锤子的厂商ID为29a9
按照厂商ID填写,比如锤子T1就写:
echo '0x29a9' | tee -a ~/.android/adb_usb.ini
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="29a9", MODE="0666", GROUP="plugdev"' | sudo tee -a /etc/udev/rules.d/51-android.rules
sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo service udev restart
adb kill-server
adb start-server
把设备的“USB调试”关掉,拔下来,重新连上电脑,再打开“USB调试”。
adb devices
如果显示正常,即可。
官方文档:http://developer.android.com/tools/device.html
锤子论坛:http://bbs.smartisan.cn/thread-59957-1-1.html
如果是华为手机,仍然无法显示,请参考:http://blog.csdn.net/aryang/article/details/16843235
使用命令编译打包Android项目:新方法Gradle
echo 进入一个项目,比如demo
cd ~/Downloads/android-sdk-linux/samples/android-23/ui/ActionBarCompat-Styled
echo 编译打包,自动下载依赖的lib和项目
./gradlew assembleDebug
echo 安装到手机或者虚拟机等设备里
adb install ActionBarCompat-StyledSample/build/apk/ActionBarCompat-StyledSample-debug-unaligned.apk
从android-18开始,android sdk中带的官方demo使用gradle打包,不再使用ant打包。
优点:gradle会自动下载依赖,不像ant那样要手动下载lib,而且把第三方的东西放到自己的代码库里无法跟进升级,还要逐个android update project,然后才能编译本项目。学习做demo时可能没体会,当一个项目有10个依赖的时候,就发现ant太麻烦了,gradle很方便。
参考:http://tools.android.com/tech-docs/new-build-system
使用命令编译打包Android项目:老方法ant
安装ant:
sudo apt-get install -y ant
ant编译一个项目的步骤:
echo 进入一个项目,比如demo
cd ~/Downloads/android-sdk-linux/samples/android-17/ApiDemos
echo 生成build.xml文件。android-19 是目标OS的意思,使用android list targets可以查看。如果没有安装SDK中的Android API,则targets为空出错。常见的有"android-19"和"Google Inc.:Google APIs:19"
android update project -p . -s -t "android-19"
echo 编译打包,需要jdk
ant debug
echo 安装到手机或者虚拟机等设备里
adb install bin/ApiDemos-debug.apk
开发时如何快速切换wifi
使用WiFi List widget Free(含通知栏广告)即可。在桌面上1秒钟切换到另一个wifi,不用进系统设置中切换。下载地址:https://play.google.com/store/apps/details?id=pl.rkmiec.wifilist.free&hl=zh_CN
效果图:
网络调试Android
Android可以使用网络编译安装(wifi或有线),不用每次都接上usb线。
要求:设备需要root
方法1:在设备中启动“终端”(如果没有,则到市场上装一个),设备终端里执行命令:
su
setprop service.adb.tcp.port 5555
stop adbd
start adbd
把设备用usb线接到电脑上,手机弹出“开发者授权”,同意记住。
在电脑中执行命令:
adb connect 192.168.199.193
adb devices
以后编译安装就方便了,在eclipse里直接能识别,用命令也行,比如:
adb -s 192.168.199.193:5555 install bin/demo-debug.apk
方法2、使用app自动执行上面的操作,安装WiFi ADB - Debug Over Air即可,下载地址https://play.google.com/store/apps/details?id=com.ttxapps.wifiadb
如图:
如何安装google play
因为法律原因,所以大陆行货手机不能集成google play。详情请看:http://www.zhihu.com/question/20892245
如果开发需要,则根据Android版本下载对应的gapps包,重启到recovery,刷入包即可。下载地址:http://www.appkg.com/gapps 或 http://wiki.cyanogenmod.org/w/Google_Apps 或 国内镜像下载:http://gmirror.org/#gapps
刷入以后,重启就可以看见google play,如果没安装成功,则解压缩zip包,用root explorer复制gapps-xxxx/system/app中的所有apk到 系统的/system/app中,重启即可。
使用命令创建Android项目
官方文档有详细说明:http://developer.android.com/intl/zh-cn/training/basics/firstapp/creating-project.html#CommandLine
如何解决Android模拟器虚拟机太卡
安装virtualbox,下载www.android-x86.org的最新iso,安装,就不卡了。使用网络调试android即可。
详细步骤:http://www.apkbus.com/android-43835-1-1.html
Android官方arm虚拟机未使用“CPU虚拟化”,所以很卡。而Virtualbox和iOS虚拟机都是x86的,都能调用“CPU虚拟化技术”,很流畅。
IDE
建议使用新出的、目前google主推的android studio,请看:http://tools.android.com/download/studio/canary/latest ,国内镜像下载:http://gmirror.org/#android-studio
老公司老项目会使用eclipse,请看:http://www.cnblogs.com/sink_cup/archive/2011/10/31/ubuntu_x64_eclipse_android_sdk_java.html