ROM制作与修改第五课:apk和odex的介绍和合并

来源:互联网 阅读:- 2020-09-22 08:42:12

(一)APK详细介绍

APK是Android Package的简称,即Android安装文件。APK是相近Symbian Sis或Sisx的格式文件。根据将APK文档立即传入Android手机模拟器或Android手机上中实行就可以安裝。

APK文档实际上是zip文件格式,但文件后缀名被改动为apk,根据UnZip缓解压力后,能够见到Dex文件,Dex是Dalvik VM executes的全名,即Android Dalvik程序执行,并不是Java ME的字节码只是Dalvik字节码。

一个APK文档(压缩包开启能够见到)构造为:

mete-INF\ Jar文件中常会能够见到

res\储放資源文档的文件目录

AndroidManifest.xml 程序流程全局性环境变量

classes.dex Dalvik字节码

resources.arsc编译程序后的二进制資源文档

小结下大家发觉Android在运作一个程序流程时最先必须UnZip,随后相近Symbian那般立即,和Windows Mobile中的PE文档有差别,那样做针对程序流程的安全性和可信性并不是很高,根据dexdump指令能够反汇编,但那样做合乎发展趋势规律性,微软公司的Windows Gadgets也就是说WPF也选用了这类架构方法。

在Android服务平台中dalvik vm的实行文档被装包为apk格式,最后运作时加载器会缓解压力随后获得编译程序后的androidmanifest.xml文件中的permission支系有关的安全性浏览,但依然存有许多 安全性限定,假如你将apk文件传入/system/app文件夹名称下能发觉实行不是受到限制的。最后大家平常安裝的文档很有可能不是这一文件夹名称,而在android rom中系统软件的apk文件默认设置会放进这一文件夹名称,他们有着着root管理权限。

二)、odex文件详细介绍

仔细的网民很有可能发觉Android的ROM中有很多odex文件,相对性于APK中的dex文件来讲这一odex有什么作用呢?假如你认真观察会发觉文件夹名称时一一对应的,另外这些相匹配的apk文件中沒有dex文件。那样做能够使其生产商确保一定的反盗版,由于没有没有dex文件的apk是没法一切正常安裝的,而生产商立即将odex和不详细的apk文件放进手机rom干固到/system/bin中能够让一般客户没法一切正常导出来应用。(文/Android开发设计网)

许多 网民很有可能想起的是合拼odex和apk变为apk中包括dex文件的,那样合拼后最后apk文件安裝在/data/中,而rom储放时在/system/bin中,因此最后造成了客户能装在Android手机上中的手机软件会越来越少,占有系统软件室内空间。

APK转化成odex文件方式:

1.编译程序开源系统GIT上的build/tools /dexpreopt/dexopt-wrapper这一,应用dexopt-wrapper就可以,操作流程

2.将dexopt-wrapper放进/data/local文件目录中,应用adb shell实行linuxcmd,应用cd命令进到/data/local文件目录,

cd /data/local./dexopt-wrapper android123.apk android123.odex

(二)合拼odex和

少dex的apk为详细的apk文件

必须采用的专用工具是smali,一个开源系统的java图像处理软件:http://code.google.com/p/smali/downloads/list

1.免费下载的baksmali和smali的jar文件到工作中文件目录

2.把ROM里边的core.odex, ext.odex, framework.odex, android.policy.odex, services.odex这五个文档也放到同一文件目录(还可以放到其他文件目录,根据设定BOOTCLASSPATH特定,默认设置便是当前目录)。

例:以teeter为事例(HTC一些Android经常会内嵌),ROM里边拿出来的可能是两个文档,teeter.apk teeter.odex。

1、溶解odex文件:

java -jar baksmali-1.2.1.jar -x teeter.odex

假如没别的难题,会在工作中目录生成一个out的文件目录,里边是溶解出去的一些文档,大家在这里不细究这种文档的功效。

2、把溶解获得的文档变为classes.dex:java -Xmx512M -jar smali-1.2.1.jar out -o classes.dex,那样获得了一个有效的classes.dex文件

3、用WinZip或是WinRAR开启teeter.apk文件,把这个classes.dex装进去

4、最终再用signapk把全新获得的这一包括classes.dex的apk再次签定一下(Auto Sign签名工具以往的文章内容里有免费下载),就转化成一个能够安裝的独立APK程序流程了。

5、签字进行后就可以安裝应用了

(三)、运用餐厅厨房开展合拼

最先开启餐厅厨房页面

ROM制做与改动第五课:apk和odex的详细介绍和合拼

挑选0开展高級选择项

ROM制做与改动第五课:apk和odex的详细介绍和合拼

挑选11对工作中文件目录中的deodex开展合拼。出現以下页面

ROM制做与改动第五课:apk和odex的详细介绍和合拼

大家挑选b,对全部文档开展合拼。随后会出現合拼全过程页面以下:

ROM制做与改动第五课:apk和odex的详细介绍和合拼

之上便是餐厅厨房合拼的整个过程了。

回应【5】获得配件

推荐阅读:冀车展