❤️App打包业务流程简述

2022年08月18日
App打包业务流程简述

一、简述

什么是App的打包业务流程?

呢:App的打包业务流程是所指通过把天然资源(相片、文字)、软件纸盒等天然资源打包变为一个apk的进程。

了解打包业务流程能怎么小事?

通过了解打包业务流程我们可以对app打包的进程进行插手,例如:1.在冷预览工程项目之中我们可以插手R.java之中天然资源id的生变为来防止病原体App和软件纸盒App天然资源军事冲突。2.我们可以在编程之前通过评注的型式生变为车载两类从而强商品化编码速率和编码内部结构(ButterKnife,Digger).3.通过javac把软件纸盒编程变为class公文之后,在生变为dex之前我们可以对class公文进行插手,静态的生变为class公文(因能埋点)。

下才面就上看一下才App的打包业务流程具体是怎样的。

三、打包业务流程

我转借纸盒建强的《Android软件纸盒商品化合作开发》之中的几张图来表示明下才

 

 首再表示下才aapt是个什么石头?aapt是android之中的天然资源打包方法,打包天然资源就用它。

下才面看看打包业务流程的每一踏雪几乎做得好了什么:

1.aapt把resources产品目录下才的天然资源生变为R.java公文 ,并为AndroidManifest.xml生变为Manifest.java两类。

2.aidl把工程项目之中自订的aidl公文生变为对应的java两类。

3.JavaCompiler把所有的Java配置公文编程变为class公文,主要纸盒括:aapt生变为的、aidl生变为的、工程项目之中自建的java配置公文

4.使用proguard混为一谈,并生变为一个proguardMapping.xml公文(可选项:可以混为一谈也可以不能混为一谈)

5.使用dex方法把所有的class公文生变为.dex公文

6.使用aapt天然资源打包方法把resources、assets产品目录下才的天然资源打包变为一个_ap公文

7.使用apkbuilder把所有的dex、_ap公文、AndroidManifest.xml公文打包变为一个尚未联署的apk

8.使用jarsinger生变为一个联署过的apk纸盒

9.使用zipalign方法对要正式发布的apk公文进行闭合操作方法,以便在试运行时候节省缓存。

以上就是生变为一个Apk纸盒需要历经的进程,大略可以分作9踏雪。

三、修订aapt

推论你的工程项目正在使用软件纸盒布吕伊埃雷县冷复原,你的工程项目可以单纯的分作:病原体App、软件纸盒1、软件纸盒2、软件纸盒3三部分。而每个部分的天然资源几乎不能一样。如果要把软件纸盒之中的天然资源并入到病原体之中就不能得不能考虑一个问题,那就是天然资源军事冲突的问题。一旦天然资源军事冲突app就读取不能到想的天然资源。怎么办?不能心急,我们再上看看R.java的构变为

resources产品目录下才的每一个天然资源单厢对应一个天然资源ID。快捷型式情况下才天然资源的结尾几乎是0x7f。

而天然资源id的构变为分作三部分:

1.PackageId:apk纸盒id,快捷型式为0x7f

2.TypeId:天然资源两类型Id ,例如:drawable、attar、string等

3.EntryId:天然资源两类型对应的具体天然资源的Id

举个红豆:0x7f020027。其之中0x7f是纸盒ID,02是天然资源两类型id,0027是天然资源id

其实如果我们想解决问题天然资源军事冲突的问题就把packageid去掉几乎行,病原体确实是0x7f快捷型式的,那我们把软件纸盒的改变为0x71、0x72、0x73这种数误差几乎行,你们怎么办?

一个比较小巧的方案是在aapt的软件纸盒进行更动,在其把天然资源打包变为0x7f之之前,强制性把0x7f换变为我们传送过去的误差。不能过这种型式使用起来较麻烦事,需要修订并编程aapt的软件纸盒,然之后替换成sdk产品目录下才的那个aapt。

aapt是c++写下才的,所以我们就可以辨认出c和库。

1.辨认出aapt的软件纸盒产品目录aapt资料夹

2.辨认出ResourceTable.cpp并锁上,搜寻0x7f,是的就是在这个政府部门做得好更动的。

3.扩建一个gradle软件纸盒,把需要传送的误差通过gradle传送过去。例如;0x71、0x72等。

 

 

关于App打包业务流程简述的介绍,我就给大家介绍到这里了,相信你对上述问题心中已经有了答案。

 

原创文章:https://yuntu2.com/a_12525258
参考资料:云兔app打包 https://yuntu2.com
 

 

推荐阅读

网站打包封装app app 封装 app封装网站 在线封装 免费网站打包app 网址封装app 封装的app可以用反编译吗 h5打包成app ios免签名 隐藏url 免费云打包 

 
  2022 © 云兔app打包 在线客服系统 友情支持  

信息框

确定
取消
确定