目录
android sdk包括开发android app所需要的编译、调试、测试开发工具和API库。
下载android sdk:
http://developer.android.com/sdk/index.html
在这个下载页中提供两种下载方式:
由于我们需要了解详细的过程。所以我们目前选择下载仅仅只有android sdk的包。
安装、设置:
windows平台下:
下载后,解压到到目录:
E:\source\android\android-sdk-windows
设置环境变量:ANDROID_SDK=E:\source\android\android-sdk-windows
linux平台下:
下载集成了的sdk包
k@k-C410:/data/adt-bundle-linux-x86_64-20130917$ ls
eclipse sdk
设置sdk的环境变量:
export ANDROID_SDK=/data/adt-bundle-linux-x86_64-20130917/sdk
放到~/.bashrc文件中。
如果你是新手,看到这里就可以了,下面的内容你可能会看得晕,但是等你看完后面的文章后,再回头看下面的内容,你就会好理解了.
android sdk浏览:
在根目录中:
AVD Manager.exe:虚拟机管理工具
SDK Manager.exe:sdk管理工具
tools目录:包括测试、调试、第三方工具。模拟器、数据管理工具等。
build-tools目录:编译工具目录,包含了转化为davlik虚拟机的编译工具。
platform-tools目录:包含开发app的平台依赖的开发和调试工具。包括 adb、fastboot等
platforms/<android-version>目录:包括android的平台。包含在android.jar库中。你必须指一个平台为你的编译目标。
system-images目录:编译好的系统映像。模拟器可以直接加载。
sources目录:android sdk的源码目录
samples目录:sdk例子
android sdk工具介绍:
SDK Manager.exe:sdk管理工具,用于管理、下载sdk、sdk工具,能及扩展工具。
AVD Manager.exe:虚拟机管理工具,用于建立和管理虚拟机。虚拟机又叫模拟器。
启动中:
启动完成:
build-tools目录下:
aapt(Android Asset Packaging Tool):编译应用程序的资源文件(包括AndroidManifest.xml
和你的Activities的xml文件),生成R.java文件,这样你就可以从你的java代码中引用资源。
aidl:把.aidl 接口转换成java接口.
dx:转化.class中间代码为dvlik中间代码,所有经过java编译的生成.class文件都需要此工具进行转换,最后打包进apk文件中.
dexdump:dump devlik中间代码
platform-tools目录下:
adb:android调试工具
进入adb工具目录
查看连接的设备:adb devices
注意:必须安装google USB驱动,否则用USB连接的设备将无法访问。有些设备可以需要安装自己的USB驱动。
另外:ubuntu下可以会出现:
1、64位的sdk中的工具是32位的程序。所以需要安装32位的库:
sudo apt-get install g++-multilib
sudo apt-get install lib32z1
2、没有权限错误:
用adb时,如果你不在root下,则可能会出现:
k@k-C410:/data/vlc_android/vlc-android/bin$adb devices -l
Listof devices attached
???????????? no permissions usb:2-1.2
解决办法:
在/etc/udev/rules.d/目录下创建51-android.rules,把相应的USB,供应商ID信息即可。
用lsb查看usb的供应商id:
例如我的:
k@k-C410:/data/vlc_android/vlc-android/bin$lsusb
Bus002 Device 004: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus002 Device 008: ID0bb4:0c03HTC(High Tech Computer Corp.)
Bus002 Device 003: ID 1fea:006f
Bus002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
那就在 /etc/udev/rules.d/51-android.rules 文件中加入:
SUBSYSTEM=="usb",ATTR{idVendor}=="0bb4",ATTR{idProduct}=="0c03",MODE="0666"
或者参见本人的另一篇文章:http://blog.csdn.net/kl222/article/details/32313065
远程到相关设备:adb shell
-b:直接连接USB设备
-e:直接连接模拟器设备
需要注意的是:模拟器的镜像是开发环境的,所以可以以root用户登录。而设备一般是出厂设置,所以没有root权限。
好了,现在已登录进入android系统了,你看看就是一个linux,如果你熟悉linux,那么你可以折腾了。
从设备上下载文件到本地:adb pull
从本地上传文件到设备上:adb push
从本地安装apk到设备上:adb install
查看日志:adb logcat
启动daemon server:adb start-server
停止daemon server:adb kill-server
fastboot:boot工具
tools目录下:
android:android管理工具,用于管理android虚拟设备、工程、和安装sdk组件。
android help:显示所有参数
android sdk:显示sdk管理窗口
android avd:显示avd管理窗口
ddms:Dalvik Debug Monitor Server,让你调试android应用程序。monitor工具包括了它,所以一般用monitor工具。官网介绍:http://developer.android.com/tools/debugging/ddms.html
emulator:模拟器
启动模拟器:
./emulator -sysdir ../system-images/android-18/armeabi-v7a -system ../system-images/android-18/armeabi-v7a/system.img -data ../system-images/android-18/armeabi-v7a/userdata.img -ramdisk ../system-images/android-18/armeabi-v7a/ramdisk.img -kernel ../system-images/android-18/armeabi-v7a/kernel-qemu -skindir ../platforms/android-20/skins -skin HVGA
参数:
-sysdir:系统镜像文件存放的目录
-system:系统镜像文件
-data:用户数据文件
-ramdisk:ram盘文件
-kernel:系统内核文件
-skindir:模拟器皮肤目录
-skin:指定模拟器皮肤
monitor:设备监控工具,包括了ddms工具。
zipalign:
对齐工具。用于对签名后的apk包进行对齐。
参考:
制作可独立分发的Android模拟器