手动打包 解释

简介: 引用:http://blog.csdn.net/wbw1985/article/details/7020330 1.使用aapt生成R.java类文件:  例: C:\Snake>aapt p -f -m -J gen -S res -I android.

引用:http://blog.csdn.net/wbw1985/article/details/7020330

1.使用aapt生成R.java类文件: 

例: 
C:\Snake>aapt p -f -m -J gen -S res -I android.jar -M AndroidManifest.xml
其中  -f -m -J F:\explorer\AndroidByread\gen 代表按覆盖的形式在gen目录下生成带包路径的R.java,-S res指定资源文件 ,-I android.jar 指定使用的android类包,-M AndroidManifest.xml指定程序的配置文件

 

2.使用android SDK提供的aidl.exe把.aidl转成.java文件(如无aidl接口文件可省略):

 

3.第三步 编译.java类文件生成class文件:

 

C:\Snake>javac -classpath android.jar -d bin src\com\example\android\snake\*.java gen\com\example\android\snake\R.java

 

-classpath android.jar 指定使用的android类包,-d bin指定生成的类文件的位置 ,后面的两个都是源文件.

 

4.使用android SDK提供的dx.bat命令行脚本生成classes.dex文件:

C:\Snake>dx --dex --output=c:\snake\bin\classes.dex c:\snake\bin

 

第一个参数是生成的目标文件,第二个是class文件所在的目录(必须使用绝对路径)

 

5.生成应用程序apk文件:

C:\Snake>aapt p -f -F snake.apk -v -u -z -M AndroidManifest.xml -S res -A assets -I android.jar

用法同步骤1.

 

6.把前面生成的classes.dex文件压缩到apk文件,最终生成可运行的apk应用程序

C:\Snake>aapt add snake.apk bin\classes.dex

 

7.Android Apk 签名
Apk签名首先要有一个keystore的签名用的文件 。
keystore是由jdk自带的工具keytool生成的。
具体生成方式参考:
开始->运行 ->cmd->cd到你安装的jdk的目录里,我的是C:\Program Files\Java \jdk1.6.0_10\bin
然后输入:
keytool -genkey -alias asaiAndroid.keystore -keyalg RSA -validity 20000 -keystore asaiAndroid.keystore
-alias 后面跟的是别名这里是 asaiAndroid.store
-keyalg 是加密方式这里是RSA
-validity 是有效期 这里是20000
-keystore 就是要生成的keystore的名称 这里是asiAndroid.keystore
然后按回车键
按回车后首先会提示你输入的密码:这个在签名时要用的,要记住
然后会再确认你的密码。
之后会依次叫你输入姓名、组织单位、组织名称、城市区域、省份名称、国家代码 (CN)等。

开始签名。
在 C:\Program Files\Java\jdk1.6.0_10\bin 还提供一个工具 jarsigner.exe
运行命令给APK签名:
jarsigner -verbose -keystore asaiAndroid.keystore -signedjar Lotteryonline_signed.apk LotteryOnline.apk asaiAndroid.keystore
-keystore: keystore的名称
LotteryOnline_signed.apk: 签名后的APK
LotteryOnline.apk: 签名前的APK
然后按回车:会要求输入刚才设置 的密码,输入后按回车就开始签名了。

相关文章
|
7月前
|
Java Maven
构建Springboot项目、实现简单的输出功能、将项目打包成可以执行的JAR包(详细图解过程)
这篇文章详细介绍了构建SpringBoot项目的过程,包括新建工程、选择环境配置、添加依赖、项目结构说明,并演示了如何编写一个简单的Controller控制器实现输出功能,最后讲解了如何使用Maven将项目打包成可执行的JAR包,并提供了运行JAR包的命令和测试效果。
构建Springboot项目、实现简单的输出功能、将项目打包成可以执行的JAR包(详细图解过程)
|
9月前
|
Python Windows
一步步教你将包含其他文件的 Python 脚本等打包成 EXE
最近我编写了一个Python脚本,该脚本需要依赖两个同级目录下的文件才能正常运行。然而,当我将脚本打包成EXE程序后,必须将这两个文件放在EXE文件的同级目录下才能正常执行。为了简化部署,我希望能将这两个文件一起打包到EXE文件中,这时候该怎么办呢?
|
9月前
|
存储 Java 编译器
心得经验总结:源代码、目标代码、可执行代码、本地代码的区别
心得经验总结:源代码、目标代码、可执行代码、本地代码的区别
286 0
|
IDE Unix 编译器
关于编译的重要概念总结
关于编译的重要概念总结
3413 0
关于编译的重要概念总结
|
存储
编译与解释的区别
编译与解释的区别
237 0
|
Python
Python实战笔记(一) 递归输出目录结构
Python实战笔记(一) 递归输出目录结构
224 0
|
Python
【Python零基础入门篇 · 17】:模块、模块的使用、过滤执行代码写法、包的使用
【Python零基础入门篇 · 17】:模块、模块的使用、过滤执行代码写法、包的使用
118 0
【Python零基础入门篇 · 17】:模块、模块的使用、过滤执行代码写法、包的使用
|
Python
【Python零基础入门篇 · 13】:模块、模块的使用、过滤执行代码写法、包的使用
【Python零基础入门篇 · 13】:模块、模块的使用、过滤执行代码写法、包的使用
715 0
【Python零基础入门篇 · 13】:模块、模块的使用、过滤执行代码写法、包的使用
LanguageTool最简范例代码
LanguageTool最简范例代码
143 0
|
分布式计算 Java Scala
Spark源码打包编译的过程
Spark源码打包编译的过程
334 0
Spark源码打包编译的过程