如何利用Eclipse工具打包签名AndroidApk单文件打包工具

两种密码结合上┅幅图看

(记得备份因为以后这个apk的新版本都是用这个keystore了)

4.弹出此窗口,自动填充好了这密码和别名Next


5.填写路径,选择签名版本点击Finish

V2昰Android 7.0出现的更安全更快速的签名方式。

方式二:使用Gradle 生成

}

最近看了老罗分析android资源管理和apk打包流程的博客参考其他一些资料,做了一下整理脱离繁琐的打包细节和数据结构,从整体上概述了apk打包的整个流程

1、打包资源单文件打包工具,生成R.java单文件打包工具

2、处理aidl单文件打包工具生成相应java 单文件打包工具

3、编译工程源代码,生成相应class 单文件打包工具

6、对apk单攵件打包工具进行签名

7、对签名后的apk单文件打包工具进行对其处理

.jar单文件打包工具的签名工具

第一步:打包资源单文件打包工具生成R.java单攵件打包工具。

【输入】Resource单文件打包工具(就是工程中res中的单文件打包工具)、Assets单文件打包工具(相当于另外一种资源这种资源Android系统并鈈像对res中的单文件打包工具那样优化它)、AndroidManifest.xml单文件打包工具(包名就是从这里读取的,因为生成R.java单文件打包工具需要包名)、Android基础类库(Android.jar單文件打包工具)

【输出】打包好的资源(bin目录中的resources.ap_单文件打包工具)、R.java单文件打包工具(gen目录中)

打包资源的工具aapt大部分文本格式的XML資源单文件打包工具会被编译成二进制格式的XML资源单文件打包工具,除了assets和res/raw资源被原装不动地打包进APK之外其它的资源都会被编译或者处悝。 

name”指定的属性同名的ap_单文件打包工具)。

第二步:处理aidl单文件打包工具生成相应的java单文件打包工具。

【输出】对应的.java单文件打包笁具

对于没有使用到aidl的android工程这一步可以跳过。aidl工具解析接口定义单文件打包工具并生成相应的java代码供程序调用

第三步:编译工程源代碼,生成下相应的class单文件打包工具

【输入】源码单文件打包工具(包括R.java和AIDL生成的.java单文件打包工具)、库单文件打包工具(.jar单文件打包工具)

【工具】javac工具

这一步调用了javac编译工程src目录下所有的java源单文件打包工具,生成的class单文件打包工具位于工程的bin\classes目录下上图假定编译工程源代码时程序是基于android SDK开发的,实际开发过程中也有可能会使用android NDK来编译native代码,因此如果可能的话,这一步还需要使用android NDK编译C/C++代码当然,編译C/C++代码的步骤也可以提前到第一步或第二步

第四步:转换所有的class单文件打包工具,生成classes.dex单文件打包工具

【输入】 .class单文件打包工具(包括Aidl生成.class单文件打包工具,R生成的.class单文件打包工具源单文件打包工具生成的.class单文件打包工具),库单文件打包工具(.jar单文件打包工具)

【工具】javac工具

前面多次提到android系统dalvik虚拟机的可执行单文件打包工具为dex格式,程序运行所需的classes.dex单文件打包工具就是在这一步生成的使用的笁具为dx,dx工具主要的工作是将java字节码转换为dalvik字节码、压缩常量池、消除冗余信息等

第五步:打包生成apk。

【输入】打包后的资源单文件打包工具、打包后类单文件打包工具(.dex单文件打包工具)、libs单文件打包工具(包括.so单文件打包工具当然很多工程都没有这样的单文件打包笁具,如果你不使用C/C++开发的话)

【输出】未签名的.apk单文件打包工具

NDK编译生成的so或bin单文件打包工具)最后调用sealApk()关闭apk单文件打包工具。

苐六步:对apk单文件打包工具进行签名

【输入】未签名的.apk单文件打包工具

【输出】签名的.apk单文件打包工具

android的应用程序需要签名才能在android设备仩安装,签名apk单文件打包工具有两种情况:一种是在调试程序时进行签名使用eclipse开发android程序时,在编译调试程序时会自己使用一个debug.keystore对apk进行签洺;另一种是打包发布时对程序进行签名这种情况下需要提供一个符合android开发文档中要求的签名单文件打包工具。签名的方法也分两种:┅种是使用jdk中提供的jarsigner工具签名;另一种是使用android源码中提供的signapk工具它的代码位于android系统源码build\tools\signapk目录下。

第七步:对签名后的apk单文件打包工具进荇对齐处理

【输入】签名后的.apk单文件打包工具

【输出】对齐后的.apk单文件打包工具

这一步需要使用的工具为zipalign,它位于android-sdk\tools目录源码位于android系统源码的build\tools\zipalign目录,它的主要工作是将spk包进行对齐处理使spk包中的所有资源单文件打包工具距离单文件打包工具起始偏移为4字节整数倍,这样通過内存映射访问apk单文件打包工具时速度会更快验证apk单文件打包工具是否对齐过的工作由ZipAlign.cpp单文件打包工具的verify()函数完成,处理对齐的工作则甴process()函数完成

以一个具体项目中包含的具体单文件打包工具为例作图如下:

关于Android打包apk过程中的细节以及打包后如何获取资源、查找资源、使用资源,移步老罗的博客十分详细。

}

我要回帖

更多关于 单文件打包工具 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信