android手机的apk档案中的class.dex档案是什么?是做什么用的呢

android手机的apk档案中的class.dex档案是什么?是做什么用的呢,第1张

android手机的apk档案中的class.dex档案是什么?是做什么用的呢

Android虚拟机器执行的程式码档案,是JAVA档案编译过去的

dex是安卓上的应用程式apk中提取出来的可执行档案,即将APK中的classes.dex档案通过dex优化过程将其优化生成一个·dex档案单独存放,原APK中的classes.dex档案会保留。

所谓dex,是由android软体中的classes.dex生成的,dex化即是把那个档案预先提取出来作用是能加快软体载入速度和开机速度。不过dex也有缺点,那就是有时候加刷东西会出现问题。

原本系统恢复出厂设定后第一次开机需要先提取classes.dex出来,而姿旁神dex化就是现在你提前把它提取出来了。系统启动或者程式执行加快的原因也就在此。并且将dex变为odex还可以节省空间,因为提取后可以把apk内的dex删除。如果不odex,那么系统还是会自动提取dex,这时不仅apk内有dex,/data/dalvik-cache目录下也有dex,虽然apk内的dex经过压缩了,但是两份dex的总体积已经大于一份odex的体积了。

Odex化后系统启动和程式执行速度大大提高,稳启橡定性不变。因此推荐做Odex化。

一般来说官方rom都是odex化的rom(含Odex档案),而定制rom大部分都是deodex化的(无odex档案)。两者应该各有优点吧,貌似现在也没有统一的说法。官方rom大部分每个apk对应一个.odex档案,而deodex化的rom里面只有一个apk,把.odex转换成classes.dex放到apk包里面了。所以 odex rom的.apk+.odex=deodex化rom的1个迹亏.apk (简单地来说,其实就上一个合并的过程)。

Android手机的apk档案中的class.dex档案是什么?是做什么用的呢?

dx工具的作用是将.class转换为dex档案,因为Dalvik虚拟机器所执行的程式不是标准的Jar档案,而是将Jar档案经过特别的转换以提高执行效率,而转换后的档案就是dex档案。dx工具是Android原始码的一部分,其路径是在out目录下

手机images档案是做什么用的?

看楼主所说,应该是智慧手机.这是预设的存图片的资料夹,不过也可以放其他的东西,只要是手机支援的格式,都可以用.

xsd档案是做什么用的

XSD档案是用来描述指定型别的XML档案的大纲档案,是个纯 文字档案.

cmd档案是做什么用的

CMD可以做一些在Windows下面做不了的工作,有些时候解决一些问题必须在CMD下面在可以。

XP.CMD命令

有关某个命令的详细资讯,键入 HELP 命令名

ASSOC 显示或修改副档名关联。

AT 计划在计算机上执行的命令和程式。

ATTRIB 显示或更改档案属性。

BREAK 设定或清除扩充套件式 CTRL+C 检查。

CACLS 显示或修改档案的访问控制列表(ACLs)。

CALL 从另一个批处理程式呼叫这一个。

CD 显示当前目录的名称或将其更改。

CHCP 显示或设定活动内码表数。

CHDIR 显示当前目录的名称或将其更改。

CHKDSK 检查磁碟并显示状态报告。

就是执行一些命令的;

对你电脑的一些档案进行 *** 作的;

dmg档案是做什么用的?

Mac作业系统的一种档案格式。 dmg是MAC苹果机上的压缩映象档案,相当于在Windows上常见的iso档案。DMG在苹果机上可以直接执行载入,在Windows PC上可以通过命令列软体dmg2iso.exe转换成ISO档案。 命令执行格式:dmg2iso.exe 空格 filename(待转换档名).dmg 空格 filename(转换后文件名).iso 确定。 dmg2iso是一个免费软体,但其功能相对有限,某些情况下目标dmg档案无法成功转换为iso。这种情况下可以使用UltraISO等商业软体进行格式转换。 同时,使用者可以在程式-常用工具-磁碟工具里面建立,大小自己定义的dmg档案,用来放程式,档案打包,或用来做一个限定容量的路径。然后你可以对这个磁碟做你要做的事情,如用TOAST烧录。因此说,dmg档案在Mac中又相当于一个软U盘。

robots档案是做什么用的?

Robots.txt档案的作用:

1、遮蔽网站内的死连结。

2、遮蔽搜寻引擎蜘蛛抓取站点内重复内容和页面。

3、阻止搜寻引擎索引网站隐私性的内容。

因此建立robots.txt档案是很有必要的,网站中重复的内容、页面或者404资讯过多,搜寻引擎蜘蛛就会认为该网站价值较低,从而降低对该网站的“印象分”,这就是我们经常听到的“降低权重”,这样网站的排名就不好了。

robots.txt档案需要注意的最大问题是:必须放置在一个站点的根目录下,而且档名必须全部小写。

robots.txt档案的基本语法只有两条,第一条是:User-agent,即搜寻引擎蜘蛛的名称;第二条是:Disallow,即要拦截的部分。

下面我们看一下撰写基本的robots.txt档案所需要知道的一些语法和作用。

(1),允许所有的搜寻引擎访问网站的所有部分或者建立一个空白的文字文件,命名为robots.txt。

User-agent:*Disallow:或者User-agent:*Allow:/

(2),禁止所有搜寻引擎访问网站的所有部分。

User-agent:*Disallow:/

(3),禁止百度索引你的网站。

User-agent:BaiduspiderDisallow:/

(4),禁止Google索引你的网站。

User-agent:GooglebotDisallow:/

(5),禁止除百度以外的一切搜寻引擎索引你的网站。

User-agent:BaiduspiderDisallow:User-agent:*Disallow:/

(6),禁止除Google以外的一切搜寻引擎索引你的网站。

User-agent:GooglebotDisallow:User-agent:*Disallow:/

(7),禁止和允许搜寻引擎访问某个目录,如:禁止访问admin目录;允许访问images目录。

User-agent:*Disallow:/admin/Allow:/images/

(8),禁止和允许搜寻引擎访问某个字尾,如:禁止访问admin目录下所有php档案;允许访问asp档案。

User-agent:*Disallow:/admin/*.php$Allow:/admin/*.asp$

(9),禁止索引网站中所有的动态页面(这里限制的是有“?”的域名,如:index.php?id=8)。

User-agent:*Disallow:/*?*

clx 档案是做什么用的?

CLX(Component Library for Cross-Platform 跨平台元件库)是可以应用在Win32和Linux两种平台上的. 用Delphi 7 开发的CLX程式,可以不做任何修改,在Linux下用Kylix重新编译. Delphi 7现在支援VCL和CLX两个类库。CLX在底层是基于Qt这个类库的,在Linux系统上面Qt的名字是非常重要的。

简单说就是优化后的android版.exe。每个apk安装包里都有。相对于PC上的java虚拟机能运行.class;android上的Davlik虚拟机能运行.dex。

作用

让dalvik能够运行。

dex好处宽念

可以直接用DexClassLoader类加载,动态加载。于是只要在dex上加壳,在程序运行时脱壳,就锋游可以规避静态反编译的风险。

扩展资料

使用dex文件的原因

在Android系统中,一个App的所有代码都在一个Dex文件里面。Dex是一个类似慎基困Jar的包,存储了很多Java编译字节码的归档文件。

因为Android系统使用Dalvik虚拟机,所以需要把使用Java Compiler编译之后的class文件转换成Dalvik能够执行的class文件。

如何修改apk文件[apk文件修改、图标、美化、去广告]完全教程

一、首先搭建jdk环境。

下载完后,点击安装。然后设置运行环境参数:

用鼠标右击“我的电脑”->属性->高级->环境变量

系统变量->新建->变量名:JAVA_HOME 变量值:D:\Program Files\Java\jdk1.7.0(这是我的安装路径这个不是固定的,比如你安装到C:\Program Files,就填C:\Program Files\Java\jdk1.7.0)

系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin(若已经有Path项,无须另外新建,直接在后面加,但需用与前面已有的项分隔开)

系统变量->新建->变量名:CLASSPATH 变量值:

.%JAVA_HOME%\lib%JAVA_HOME%\lib\dt.jar%JAVA_HOME%\lib\tools.jar

最后测试下环境变量是否设置成功

点开始菜单-运行-在这里输入cmd-回车-输入javac

1.如果出现如下信息:

用法:javac

其中,可能的选项包括:

-g 生成所有调试信息

-g:none 不生成任何调试信息

-g:{lines,vars,source} 只生成某些调试信息

-nowarn 不生成任何警告

-verbose 输出有关编译器正在执行的 *** 作的消息

-deprecation 输出使用已过时的 API 的源位置

-classpath 指定查找用户类文件的位置

-cp 指定查找用户类文件的位置

-sourcepath 指定查找输入源文件的位置

-bootclasspath 覆盖引导类文件的位置

-extdirs 覆盖安装的扩展目录的位置

-endorseddirs覆盖签名的标准路径的位置

-d 指定存放生成的类文件的位置

-encoding指定源文件使用的字符编码

-source 提供与指定版本的源兼容性

-target 生成特定 VM 版本的类文件

-version 版本信息

-help输出标准选项的提要

-X 输出非标准选项的提要

-J 直接将 传递给运行时系统

恭喜,你的Java环境变量配置成功了!

2.如果出现:

'javac' 不是内高坦部或外部命令,也不是可运行的程序

或批处理文件。

说明这Java环境变量配置出错了,仔细检查下吧!

二、下载APKTools工具包(里面包含:APKTools反编译工具、轿念衫APKSign签名工具)。下载Notepad代码编辑器(可以修改smali和xml文件)。

在修改之前首先对APK文件内部结构有个了解:

AndroidManifest.xml 程序全局配置文件

classes.dex 这是Dalvik字节码

resources.arsc 编译后的二进制资源文件

META-INF\ 该目录下存放的是签名信息

res\ 该目录存放资源文件

assets\ 该目录可以存放一些配置文件

对应这些文件和目录做些基本的注释和介绍:

AndroidManifest.xml

该文件是每个应用程序都必须定义和包含的文件,它描述了应用程序的名字、版本、权限、引用的库文件等等信息。需要解包后才能加以阅读。

classes.dex文件

classes.dex是java源码编译后生成的java字节码文件。dex是Dalvik VM executes的全称,即闭腔Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。

resources.arsc

编译后的二进制资源文件。

META-INF目录

META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。在eclipse编译生成一个apk包时,会对所有要打包的文件做一个校验计算,并把计算结果放在META-INF目录下。这就保证了apk包里的文件不能被随意替换。比如拿到一个apk包后,如果想要替换里面的一幅图片,一段代码, 或一段版权信息,想直接解压缩、替换再重新打包,基本是不可能的。如此一来就给病毒感染和恶意修改增加了难度,有助于保护系统的安全。

res目录

res目录存放资源文件。包括图片,字符串等等。

解包后,几乎所有可能的修改和编辑工作基本都在这里。

assets目录

assets目录可以存放一些配置文件,这些文件的内容在程序运行过程中可以通过相关的API获得。

APK文件修改,首先要对APK文件解包(也就是反编译),打开apktool.exe,如图:

左边APK反编译区,选择APK文件,选择文件保存目录,点反编译APK按钮,得到解包文件。

三、开始修改

1. 如果只是对图像进行替换,没有必要进行解包和打包。用WinRAR打开APK文件,直接做替换就可以了。但是,如果要对文字和其它非图像类内容进行修改,那只能通过解包了,改好后,再编译回来,最后签名才能放进手机安装。下面介绍几个对APK进行解包和打包的案例。

2. 汉化APK软件

在res文件夹中,我们可以看到有很多values-***的文件夹,这就是语言包。values是英文语言包,values-zh是中国地区语言包(包含港澳台及内地),values-zh-rCN是中文简体语言包(只包含内地),values-zh-rTW是中文繁体语言包(港澳台)。除此以外,其它地区的语言包都是精简的对象,可以不过多了解。

在values文件夹里,通常有arrays.xml、strings.xml等语言文件,要作汉化就要对这些文件进行修改。有时也需要修改其它xml文件,一个一个地认真查看。改好后,打包,签名,OK。

3. 修改桌面图标名称(标签)

每一个APK文件都有一个“图标标签”。将APK程序安装进手机后,在图标下面显示图标标签文字。这个图标标签的内容是可以修改的。在\res\values下找到strings.xml,修改其中的一行:

图标标签

例如:静音启动

同理,如果是窗口小插件,要修改widget_name。

注意:system/app下的apk不宜修改,因为要同时修改对应的odex文件。

改好后,打包,签名,OK。

4. 去掉APK中的广告

有很多APK应用都带有广告。为了去掉程序中的广告,要修改main.xml文件与广告有关的内容。在\res目录下找到文件main.xml。通常在\layout目录下,有时也被放在其它目录下。甚至,有时不存在main.xml文件,广告行被放在其它xml文件内。只能细心逐个文件进行查找。无论哪一种情况,查看其内容,你会看到有一项类似的命令如下。这就是广告显示。

将其改为:

可以看到,关键是要把fill_parent改为0.0dip,把wrap_content改为0.0dip,其它保持不变即可。这种改法就是不给广告显示空间,当然你就看不到广告了。

改好后,打包,签名,OK。

5. 修改显示电池为1%精度

举个例子比如在摩托罗拉XT502上,默认显示只有7档: 0%,10%,20%,40%,60%,80% 和100%。通过修改framework-res.apk,可以改变显示精度。但是在一些手机上,实践证明最好可能达到的现实精度只有10%。修改工作如下:

(1) 对framework-res.apk进行解包

(2) 修改和增加电池状态图标

(3) 修改文件stat_sys_battery.xml

(4) 修改文件stat_sys_battery_charge.xml

(5) 打包

(6) 提取stat_sys_battery.xml,stat_sys_battery_charge.xml,resources.arsc和一个图标目录:drawable-mdpi

(7) 重新装配framework-res.apk

6. 状态栏信息通知文字颜色修改

状态栏信息通知文字颜色,是由framework-res.apk文件里res\values下的colors.xml文件控制的,所以我们只需修改colors.xml文件就可以了。另外,此文件还控制下拉栏的文字颜色,可以修改。

用文本编辑器打开colors.xml文件,找到

#ff000000

将这句修改为:#ffffffff

这状态栏信息通知文字颜色由黑色改为白色。

改好后,打包,签名,OK。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12300625.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存