如何更改安卓安装包的内置文件?

怎么样可以更改安卓安装包里的内置文件?比如应用的主题图片,一些文字之类的。就拿图片来说,应用安装后不是显示的有一个正方形图片么?点它就能打开应用。我找到那张图片,然后直接用另一张图片(另外一个安装包的图片)覆盖它,然后安装,它装了一会然后显示“应用未安装”。这是为什么?究竟怎么样才能修改呢?
安装包的内置广告怎么删除,是哪个文件?

工具:安卓修改大师、一个你要修改的app安装包(这里以贪吃蛇大作战为例)。

1、选取一个要进行反编译的游戏或应用:点击安卓修改大师顶部的安卓游戏选项卡,打开的页面中找到任何一款想修改的游戏,例如,本示例将要修改的游戏为“贪吃蛇大作战”。

2、开始进行反编译:点击该游戏的“安装”按钮,弹出相关的反编译选项菜单。点击菜单中的“反编译”按钮,进入到游戏的反编译界面。

3、修改图标、程序名称等:在“反编译”界面,左侧为功能分类选项卡,右侧为当前选项卡对应的可操作项。默认选项卡是“常规信息”,在这里修改应用图标和应用名称,注意图标要为png格式,设置128*128像素大小或者更大的图标。

4、重新打包:经过前面的步骤后,已经修改了应用的名称和图标以及相关的应用参数,点击前述界面左侧的“打包/签名”选项卡,然后点击开始打包按钮进行打包。

5、打包完成,马上点击“安装到手机”按钮,可以开始安装到您的手机上。

更改安卓安装包的内置文件需要反编译已经打包的APK安装包,此方法推荐使用“安卓修改大师”,可以在没有源代码的情况下,直接反编译安装包,通过修改代码实现添加和去除部分功能,也可以修改应用图标和应用程序名称。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-04
一、先了解安装包的内置文件属性
(1).AndroidManifest.xml
该文件是每个应用都必须定义和包含的,它描述了应用的名字、版本、权限、引用的库文件等等信息,如要把apk上传到Google Market上,也要对这个xml做一些配置。在apk中的AndroidManifest.xml是经过压缩的,可以通过AXMLPrinter2工具解开,具体命令为:java -jar AXMLPrinter2.jar AndroidManifest.xml
(2).META-INF目录
META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。在eclipse编译生成一个apk包时,会对所有要打包的文件做一个校验计算,并把计算结果放在META-INF目录下。这就保证了apk包里的文件不能被随意替换。比如拿到一个apk包后,如果想要替换里面的一幅图片,一段代码, 或一段版权信息,想直接解压缩、替换再重新打包,基本是不可能的。如此一来就给病毒感染和恶意修改增加了难度,有助于保护系统的安全。软件修改后需要将里面的证书文件删除(***.RSA、***.SF、***.MF三个文件)再重新签名,否则软件无法安装。
(3).res目录
res目录存放资源文件。包括图片,字符串等等。res文件夹里存放的大部分是软件所需的资源及布局文件(drawable存放资源、layout、xml存放布局文件***.xml),部分需要汉化的单词、语句会在这些***.xml文件里。
(4).lib目录
lib目录下的子目录armeabi存放的是一些so文件。这个地方多讲几句,都是在开发过程中摸索出来的。eclipse在打包的时候会根据文件名的命名规则(lib****.so)去打包so文件,开头和结尾必须分别为“lib”和“.so”,否则是不会打包到apk文件中的。其他非eclipse开发环境没有测试过。如果你是用SDK和NDK开发的话,这部分很重要,甚至可以通过把一些不是so文件的文件通过改名打包到apk中,具体能干些什么那就看你想干什么了。
(5).assets目录
assets目录可以存放一些配置文件,这些文件的内容在程序运行过程中可以通过相关的API获得。具体的方法可以参考SDK中的例子:在sdk的 \SDK\1.6\android-sdk-windows-1.6_r1\platforms\android-1.6\samples\ApiDemos 例子中,有个com.example..android.apis.content 的例子,在这个例子中他把一个text文件放到工程的asset目录下,然后把这个txt当作普通文件处理。处理的过程在ReadAsset.java 中。同理,asset也可以放置其他文件。
(6).classes.dex文件
classes.dex是java源码编译后生成的java字节码文件。但由于Android使用的dalvik虚拟机与标准的java虚拟机是不兼容的,dex文件与class文件相比,不论是文件结构还是opcode都不一样。目前常见的java反编译工具都不能处理dex文件。Android模拟器中提供了一个dex文件的反编译工具,dexdump。用法为首先启动Android模拟器,把要查看的dex文件用adb push上传的模拟器中,然后通过adb shell登录,找到要查看的dex文件,执行dexdump xxx.dex。另,有人介绍到Dedexer是目前在网上能找到的唯一一个反编译dex文件的开源工具,需要自己编译源代码。classes.dex文件是Java源码编译后的代码文件。通常该文件里都有单词、语句需要汉化。
(7).resources.arsc
编译后的二进制资源文件。resources.arsc文件是编译后的资源文件,大多数情况下,需要汉化的单词、语句绝大多数都在这个文件里,汉化的时候首先就要看这个文件。
二、打包、解包
apk安装包其实就是zip格式的压缩包,只是文件扩展名改成了apk而已,所以可以直接用解/压缩软件WinRAR打开,若你的系统没有关联apk文件,请先安装WinRAR,打开WinRAR——选项——设置——综合,在“用户自定义压缩文件扩展名”处填上apk,点“确定”保存即可。之后就可以直接双击以WinRAR打开apk安装包文件。
汉化软件的时候,不需要把整个apk安装包解包,对于需要汉化的文件,如resources.arsc、classes.dex等文件,直接用鼠标拖出来,汉完后再拖进apk安装包后重新签名就行了
三、签名
Android的软件也需要签名,不过和Symbian相比,却要简单方便得多,首先是不需要自己去申请证书,下载个签名工具就可以签名了。另外,我们从电子市场、软件官网下载来的软件都是已经签好名的,可以直接安装,这里讲到的签名,是针对软件安装包被修改过的情况(如汉化需要修改安装包内的文件,原来的签名文件就不能用了,所以要重新签名软件才能正常安装。),正常情况下不需要签名。
现在Android可用的签名工具很多,想方便点的话可以用汉化浪子出品的AndroidResEdit,这个软件自带签名包。签名方法很简单,删除原证书文件后(META-INF 文件夹内的***.RSA、***.SF、***.MF三个文件),打开AndroidResEdit——签名——签名apk文件,选择需要签名的apk安装包后点击“立即签名”即可。
第2个回答  2015-09-10
首先用第三方工具获取root权限【推荐应用宝,我一般会用这个,找找里面的一键root】
然后用rs文件浏览器更改权限即可。不过建议不要随意更改内置的文件,把手机弄坏很麻烦的。
第3个回答  2015-08-18
最直接的办法就是安装文件管理器,比如ES文件管理器。用它可以打开个人安装的程序及系统文件,可以进行文件迁移或修改。非常方便,但若要进行系统文件的修改则需谨慎操作。
第4个回答  2013-09-14
你改了以后需要重新签名才能正常安装。如果要改请确认你的手机已root。你可以百度“apk编辑器”(涉及内容比较多,不方便一一叙述,建议使用电脑百度)。追问

有没有手机上可以改的?还有,安装包的内置广告是哪个文件,能删除吗?会不会有影响

追答

apk编辑器就是在手机上改的。但要了解他的使用方法,在手机上浏览不太方便。内置广告不适合用它解决的(比较繁琐,虽然网上有教程),有专门的屏蔽广告的软件,如lbe,360等。以上软件的使用前提是手机必须root。如果你手机未root,找个电脑用**一键root将手机root(root有风险,具体可百度root的利弊)。

追问

已经root过了,不然还在这问安装包的修改问题

本回答被提问者采纳
相似回答