- 浏览: 13284 次
最新评论
手工编译Android程序
2011年01月19日
赖锋 利用命令行方式重新编译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\\.android
以下为android sdk自带例子的目录结构,我删除了test的目录,这部分不需要
以上是一个标准的android的应用程序目录结构,手工开发也应该遵守官方推荐标准(事实也可以自已定义目录结构)
例子没有bin,gen,assets这三个目录,需要建立这三个目录.
这个会在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\NoteP ad\bin\classes.dex G:\Danny-workshop\workspace-android\NotePad\bin
我定义生成的文件名为classes.dex
4.利用aapt生成资源包文件
我定义生成的资源包文件名为resources.ap_
5.利用apkbuilder生成未带签名证书的apk安装包
apkbuilder.bat G:\Danny-workshop\workspace-android\NotePad\bin\No tepad_usigned.apk -v -u -z G:\Danny-workshop\workspace-android\NotePad\bin\re sources.ap_ -f G:\Danny-workshop\workspace-android\NotePad\bin\cl asses.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\androi d.keystore -storepass kingsoft -keypass kingsoft -signedjar G:\Danny-workshop\workspace-android\NotePad\bin\No tepad.apk G:\Danny-workshop\workspace-android\NotePad\bin\No tepad_usigned.apk android.keystore
一个完成的应用程序已实现,可以进行安装了! 部署过程安装
在启动摸拟器的情况下,输入以下命令,即可安装
以上提示为程序成功安装
发表评论
-
VC:文件操作大全,打开,保存,复制,删除,查找等
2012-01-20 02:00 636VC:文件操作大全,打开,保存,复制,删除,查找等 2010 ... -
bada学习之HelloWorld篇
2012-01-20 02:00 533bada学习之HelloWorld篇 201 ... -
Boost在VS2008下的正确编译
2012-01-20 02:00 1064Boost在VS2008下的正确编译 2010年11月28日 ... -
MFC类库的产生与发展
2012-01-20 02:00 638MFC类库的产生与发展 20 ... -
Python中cx_Oracle模块安装遇到的问题与解决方法
2012-01-19 09:48 1100Python中cx_Oracle模块安装遇到的问题与解决方法 ... -
win下配置Apache+Python
2012-01-19 09:48 492win下配置Apache+Python 2011年10月13 ... -
全能选手 看看Python应乎潮流的72变
2012-01-19 09:48 605全能选手 看看Python应乎潮流的72变 2010年10月 ... -
windows上python2.6安装mysql
2012-01-19 09:48 651windows上python2.6安装mysql ... -
Python2.6+PyQt4.8+eric4+汉化+开发教程
2012-01-19 09:48 1118Python2.6+PyQt4.8+eric4+汉化+开发教程 ... -
OCI
2012-01-17 02:21 556OCI 2011年12月05日 OCI编程的一般过程 ... -
编译cs文件
2012-01-17 02:21 523编译cs文件 2012年01月01日 第一种方法:用. ... -
[评论]Flash,Silverlight,Win32:2011三大垂死平台
2012-01-17 02:21 623[评论]Flash,Silverlight,Win32:201 ... -
基于X的GNOME、GTK、GDK、XLib、GLib等之间的关系(转)
2012-01-17 02:21 686基于X的GNOME、GTK、GDK、XLib、GLib等之间的 ... -
3.1 MFC概述
2012-01-17 02:21 6273.1 MFC概述 2009年12月01 ... -
灯饰英语
2012-01-15 22:00 482灯饰英语 2011年12月02日 ... -
sysytem32下的文件及其作用的文章
2012-01-15 22:00 494sysytem32下的文件及其作用的文章 2011年11月2 ... -
ITV常见故障错误代码(中兴平台)
2012-01-15 22:00 768ITV常见故障错误代码(中 ... -
服务器端发送推送数据
2012-01-15 22:00 544服务器端发送推送数据 ... -
Java语言11个主要特性
2012-01-15 22:00 473Java语言11个主要特性 20 ...
相关推荐
大多数逆向工程师主要使用java反编译器、商业dalvik反编译器jeb和smali2java来分析android应用程序。Java反编译程序基于Java字节码,包括JD、JD-GUI、JADX等。smali2java是一个基于smali代码的反编译程序。它们都有...
大多数逆向工程师主要使用java反编译器、商业dalvik反编译器jeb和smali2java来分析android应用程序。Java反编译程序基于Java字节码,包括JD、JD-GUI、JADX等。smali2java是一个基于smali代码的反编译程序。它们都有...
Basic4android将代码编译成Android原生(native)应用,无需其它运行环境的支持。与其它的集成开发环境不同,Basic4android是完全用于Android应用开发的开发工具,不支持其它平台。Basic4android包含一个强大的GUI...
Haxe分别为Windows、Mac OSX以及Linux安装程序进行打包,当然如果安装包出现问题或者洁癖者也可以进行手工安装。安装包及手动安装指南尽在下载页面。 Haxe能做什么? 使用Haxe开发的程序可以被编译成: ...
- **快速执行**:由于直接对应于机器指令,汇编程序在执行时无需经过复杂的解释或编译过程,能够快速、高效地被执行。 5. **编写与调试难度**: - **复杂性高**:编写汇编程序需要深入了解计算机体系结构和指令集...
4.platforms存在就不用看了(如果SDK无法自动下载platforms,手工下载Android sdk 2.1,将android-2.1_r01-windows.zip文件解压之后放到android-sdk-windows\platforms) 5.1.电脑USB 连接手机 2.开始->运行(win+R...
支持开发Android应用程序。 支持开发iOS应用程序。 支持开发2D游戏。 其主要特色有: 小巧。在精简配置下,不依赖第三方软件包,仅需要32K RAM + 256K FLASH即可开发一些简单的图形应用程序。 高效。...
手工MERGE智能开发), 可以帮助解决Java项目90%的重复工作 开发工具在软件开发生命周期中扮演着至关重要的角色,它们旨在简化和加速从概念设计到产品部署的各个环节。以下是开发工具的主要作用: 代码编写与...
手工加载vfe_v4l2.ko驱动模块之后,生成了设备节点/dev/video0。 赶紧修改为/dev/video0。然后使用adb push进去。 修改属性之后,摄像头还是不显示。重启之后正常了。这里折腾了好久!!!! R:\wyb\p720_ov2640_...
手工加载vfe_v4l2.ko驱动模块之后,生成了设备节点/dev/video0。 赶紧修改为/dev/video0。然后使用adb push进去。 修改属性之后,摄像头还是不显示。重启之后正常了。这里折腾了好久!!!! R:\wyb\r58_bmi160_...