apk反编译文件夹详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
反编译:
反编译apk得到的几个文件和文件夹
1。 assets 文件夹
此文件夹可以存放资源文件。至于是神马资源文件,怎么读取,这些我们就不用深究了,因为不常改。
2。 res 文件夹
主要用来存放资源。此文件夹下可以创建子文件,常见的有:
anim 动画
drawable 图片
color 颜色
menu 菜单
layout 布局
values 常量值
xml 任意xml文件
我们修改apk时,一般就在这里修改。比如汉化,改名称,去广告,改字体颜色,大小神马的。
3。smali
里面主要是dex文件反编译得到的smali文件。不会java的改不起。顶多搜几个关键词汉化一下。值得注意的是,汉化时不能直接输入汉字,而应输入对应的十六进制代码。
4。AndroidManifest.xml
此文件是apk中最重要的文件之一。它是apk的全局配置文件,提供了android系统所需要的关于该应用的必要信息。
res目录浅说:
1 anim文件夹
后缀名为.xml。动画文件都放在这里。
2 drawable文件夹
用于存放图片资源,图片或者xml。
(1) 图片
图片格式:png,9.png,jpg,gif。
注意:9.png是一种特殊的png格式,与一般的png格式有区别!很多人在改完图片后将两种格式混淆,导致回编译失败。后面有制作9.png格式图片的方法。
(2) xml
xml文件通常为自定义的形状shape或图片选择器类selector似的东西,就是不同状态下不同的图片,用于设置background什么的。
(3) drawable文件夹为了对屏幕的适配,
①对分辨率笼统的分:名字可以为:drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdp
drawable-nodpi
drawable-tvdpi
分辨率依次由高到低
②具体到某一分辨率:drawable-分辨率,比如:drawable-1280x720
③如果有横竖屏的区别,则命名为:drawable-land/port-mdpi,
3 color文件夹
用于存放color列表,和drawable的xml一样,表示不同状态下的不同颜色
4 menu文件夹
菜单资源文件夹。
5 layout文件夹
布局文件夹。此文件夹的名字也是可以起到屏幕适配的功能的。
①横竖屏:layout-land/port
②分辨率:layout-1280x720
6 values文件夹
存放常量值的文件夹。里面常见的xml文件为:
arrays.xml :资源数组.
colors.xml : 颜色值
dimens.xml :像素值.
strings.xml :字符串值.
styles.xml :样式值.
此文件夹,也有屏幕适配作用。比如:dimens在不同分辨率下的值。同样的是加-1280x720这样的后缀。
对于strings,values文件夹有各种语言的版本对应。默认为英文。中文的文件夹名字应该是:
values-zh-rCN 简体中文
values-zh-rTW 繁体中文
7 raw文件夹
存放不需要系统编译成二进制的文件,例如字体文件等,同assets文件夹类似。
8 xml文件夹
存放任意的xml文件。具体看名字。
改apk时,我们主要改两种,即图片和xml。先讲图片:
改图片最简单了,注意好格式,分辨率即可。但有一点需注意,就是9.png和png格式图片的区别。许多人没注意这点,导致回编译总是失败。下面讲9.png格式图片的制作。
1 介绍 9patch
NinePatch.图片以*.9.png结尾,和普通图片的区别是四周多了一个边框
左边那条黑色线代表图片垂直拉伸的区域,上边的那条黑色线代表水平拉伸区域,右边的黑色线代表内容绘制的垂直区域,下边的黑色线代表内容绘制的水平区域,右边和下边的线是可选的,左边和上边的线不能省略。
采用NinePatch.图片做背景,可使背景随着内容的拉伸(缩小)而拉伸(缩小)
总之,通俗的将,9patch格式的图片就是有些部位能伸缩,有些部位
不能的特殊png格式图片。
2 将png转化为9.png步骤如下
第一步,下载9妹工具,一楼工具包里有,双击打开draw9patch.bat,将图片拖到软件界面编辑。
第二步,勾选软件下面的三个选项,全选就对了。
第三步,把鼠标放到图片中央,此时你会看到图片四周有1像素的透
明带
第四步,在左边和上边的透明带上各画一条黑线(鼠标拖动即可)
注意:当图片过大时上边的透明带会被黄色的提示框遮住,此时只能
多点击黄色区域自己摸索透明带的位置。
第五步,保存,这个不用多说吧。
至此,将图片替换回原来的文件夹即可。需要注意的是,刚编辑的
9patch.图片不能直接拖到原apk中,而应回编译后再替换进去。
再说修改xml。改字体,软件全局背景,汉化,去广告神马的都通过
这种方式。我们常改的是layout,drawable,values目录下的xml文件,如果要改桌面插件,要去xml文件夹中修改。必要时也可尝试修
改AndroidManifest.xml。下面是常见代码(分类非标准)
1 引用(@)
1)引用自定义的资源
形式 @[package:]type/name
如 android:text="@string/hello"
这里使用"@"前缀引入对一个资源的引用,后面的string/hello就是我
们自定义的资源。
2) 引用系统资源
形式 @android:type/name
如 android:textColor="@android:color/opaque_red" 指定
package:android
3) 引用主题属性
形式?android:type/name