Android apk打包流程★

本文详细介绍了Android APK的打包过程,包括aapt打包资源文件生成R.java,aidl处理接口,javac编译源码,DX转换为dex,ApkBuilder打包资源和dex,KeyStore签名以及ZipAlign对齐处理。每一步骤都详细阐述了其工具、操作和作用,对于理解APK的生成至关重要。
摘要由CSDN通过智能技术生成

1.apk打包

Android开发中打包apk主要有两种方式:

①使用Android Studio集成直接生成apk;
②使用ant工具在命令行方式下打包apk。

不管哪种方式,打包apk的本质过程都是一样的。

Android的apk包文件包括两部分:代码和资源。所以打包也分为资源打包和代码打包两个方面。

apk打包的流程图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2f6Iqz6Iqz,size_20,color_FFFFFF,t_70,g_se,x_16

①aapt打包资源文件,生成R.java文件

②aidl处理aidl文件,生成相应的Java文件

③javac编译源代码+R+aidl,生成class文件

④DX将所有的class文件转换成dex文件

⑤ApkBuilder将资源文件、dex文件打包成apk

⑥KeyStore对apk文件进行签名

⑦ZipAlig对签名后的apk文件进行对齐处理

 

2.打包流程

①通过aapt工具打包资源文件,生成R.java文件

资源文件主要包括AndroidManifest.xml、布局文件、各种xml资源等。这些资源文件都会被编译,生成相应的R.java文件。(注意:assets和res/raw两个目录里的文件不会在这一步打包,它们都会在打包apk的时候直接打包到apk中,携带在应用里面供应用访问,而且不会被编译成二进制)

打包资源的工具是aapt,全称是Android Asset Packaging Tool。aapt有一个可执行的aapt.exe在Android SDK的build-tools下,选择要编译的SDK版本,如23.0.1,在该目录下命令行里运行指令:

aapt.exe package -f -m -J E:\MyApp\bin (产物R.java输出的目录)  

-S MyApp\app\src\main\res (资源文件夹路径)

-I D:\Tools\AndroidSDK\platforms\android-23\android.jar (本地android.jar路径)

-M E:\MyApp\app\src\main\AndroidManifest.xml (项目AndroidManifest.xml)

aapt 参数的含义:

-f 如果编译出来的文件已经存在,强制覆盖。

-m

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值