赖锋
我的china-unix博客 http://laiboy.cublog.cn
我的CSDN博客 http://blog.csdn.net/laiboy
程序描述
利用命令行方式重新编译Android自带的Notepad程序!通过手工安装程序到摸拟器上运行!
程序目的
了解Eclipse的Android开发插件编译,部署程序的过程!
为实现Android应用程序自动化构建部署作准备前工作.
实现流程
以下为实现命令行构建Android应用程序的流程图

以下为实现过程的演示步聚
准备工作
1.设置环境变量

由于是选择Androi2.3的例子,所以选择5
设置了相应的环境变量

2.创建基于Android2.3的摸拟器,使用以下命令创建
android create avd -c 32M -t 6 -n AndroidVD2.3
则创建一个32M,基于android2.3平台的摸拟器
运行摸拟器
emulator -avd AndroidVD2.3

以下有两个辅助命令,很有帮助
列出SDK支持的开发列表
android list target

列出已创建的摸拟器列表
android list avd
注意点:如果没有设置ANDROID_SDK_HOME这个环境变量,则虚拟机会安装在默认目录下,在windows平台上默认目录为
C:\User\<user>\.android
构建过程
以下为android sdk自带例子的目录结构,我删除了test的目录,这部分不需要

以上是一个标准的android的应用程序目录结构,手工开发也应该遵守官方推荐标准(事实也可以自已定义目录结构)
例子没有bin,gen,assets这三个目录,需要建立这三个目录.

以下为我编译notepad的过程,具体参数意义参考官方文档
1.选用aapt生成资源文件
- aapt package -f -m -J gen -S res -I E:\android-sdk-windows\platforms\android-9\android.jar -M AndroidManifest.xml
这个会在gen目录下生成R.java文件
2.编译生成的java文件与源文件
- javac -encoding GB18030 -target 1.5 -bootclasspath E:\android-sdk-windows\platforms\android-9\android.jar -d bin src/com/example/android/notepad/*.java gen/com/example/android/notepad/R.java
这会在bin目录下生成java字节码文件
3.利用dx将文件编译成Dalvik虚拟机文件
- dx.bat --dex --output=G:\Danny-workshop\workspace-android\NotePad\bin\classes.dex G:\Danny-workshop\workspace-android\NotePad\bin
我定义生成的文件名为classes.dex
4.利用aapt生成资源包文件
- aapt package -f -M AndroidManifest.xml -S res -A assets -I E:\android-sdk-windows\platforms\android-9\android.jar -F bin\resources.ap_
我定义生成的资源包文件名为resources.ap_
5.利用apkbuilder生成未带签名证书的apk安装包
- apkbuilder.bat G:\Danny-workshop\workspace-android\NotePad\bin\Notepad_usigned.apk -v -u -z G:\Danny-workshop\workspace-android\NotePad\bin\resources.ap_ -f G:\Danny-workshop\workspace-android\NotePad\bin\classes.dex -rf G:\Danny-workshop\workspace-android\NotePad\src

6.利用keytool生成签名
- keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
这个命令会在当前目录下生成一个android.keystore的文件
7.用jarsigner对apk进行签名
- jarsigner -verbose -keystore G:\Danny-workshop\workspace-android\NotePad\android.keystore -storepass kingsoft -keypass kingsoft -signedjar G:\Danny-workshop\workspace-android\NotePad\bin\Notepad.apk G:\Danny-workshop\workspace-android\NotePad\bin\Notepad_usigned.apk android.keystore

一个完成的应用程序已实现,可以进行安装了!
部署过程 安装
在启动摸拟器的情况下,输入以下命令,即可安装

以上提示为程序成功安装
缷载程序
1.摸拟器删除
可以在摸拟器里的settings删除程序
- Application->Manager->Uninstall
2.手工删除
在摸拟器成功启动的情况下,输入以下命令
- adb shell
- #cd data
- #cd app
- #rm 指定的程序名
- #exit
即可删除安装的程序

小结 学习,永没止境!! |