当前位置:首页 » 编程软件 » 无法回编译apk

无法回编译apk

发布时间: 2023-03-20 13:01:51

Ⅰ apk反编译/回编译

再次记录一次apk反编译/回编译过程,链接失效请留言,会及时更新。

参考博客: https://blog.csdn.net/w327918069/article/details/82761437

首先,我们需要一个apk,下图是Android Studio编写并打包的一个apk。

其实apk就相当于一个zip压缩包,通过 WinRar 工具可以对其解压缩,像这样:

此时,祭出我们的神器----> apktool ,当当当当~~~~~~~。
一行命令进行apk反编译:
apktool d -r app-debug.apk 一定要加入参数 -r ,不然后面回编译回报错。

apk反编译到此结束。

回编译就是通过 apk反编译 生成的目录文件转换成一个apk。
十分简单的一行命令:
apktool b app-debug

此时安装apk到手机无法安装成功,还需要对apk进行签名才能安装。

1.生成key.keystore
keytool -genkey -alias key.keystore -keyalg RSA -validity 30000 -keystore key.keystore

可以看到key.keystore已经生成。

2.对apk进行签名
可用于没有签名和已经签名的apk,再次签名。

jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkin] [alias]

命令格式及参数意义:

-verbose -> 输出签名过程的详细信息

-keystore [keystorePath] -> 密钥的库的位置

-signedjar [apkOut] -> 签名后的输出文件名

[apkin] -> 待签名的文件名

[alias] -> 证书别名
jarsigner -verbose -keystore key.keystore -signedjar app-debug_signed.apk app-debug.apk key.keystore

回编译完成。

Ⅱ 为什么回编译systemui.apk会失败

第一:要在你的PC上建立java的环境,才能执行编译工作。具体方法我这个就不说了,你网络或者Google下就知道了,很简单的。

第二:下载必要的工具。Apktool工具。
下载后解压(有三个文件aapt.exe,apktool.bat,apktool.jar),为了方便。将解压出来的文件放在CDM模式(win+R)默认的目录下。

比如,我的是Windows732位我的CDM模式默认目录是C:\USER\用户名。

第三:如果你是要编译系统文件的话,请将你要修改的rom里的framework-res.apk(暂时叫做依赖包)用CMD模式“安装”下。
这样编译才不会出错。我一开始就是在这里纠结了很久。呵呵

安装方法:把依赖包放在刚才放apktool的目录下。(你也可以用指定目录的方法安装)

cmd模式执行apktoolifframework-res.apk这个是安装framework-res.apk

第四:准备工作都做好了,现在就可以反编译和编译了。
将你要反编译的apk放在apktool的目录下。(你也可以用指定目录)

cmd模式执行apktooldXXXX.apk这个是Decode也就是反编译

比如反编译SystemUI就执行apktooldSystemUI.apk就可以了(会在当前的目录下生成SystemUI的文件夹,修改就是在这个文件夹里进行)

SystemUI.apk等特殊APK文件的反编译和编译技巧
cmd模式执行apktoolbXXXX这个是build也就是编译回去
比如编译SystemUI就执行apktoolbSystemUI就可以了(会在rosie的文件夹中生成一个叫dist的文件夹,编译回去的apk就是此文件夹中)

注意:第三步很重要,很多人不成功就是因为没做第三步。

Ⅲ APKTOOL怎样用的,我反编译成功之后回编译失败,出现下图这样的情况是怎样的

编译失败是操作过程中错误造成的。解决方式如下:

1、首先去官方网站点击下载可用的最新ApkTool。

Ⅳ apktool b 回编译error: No resource identifier found for attribute 'bgType' in package 解决

尝试回编译qq时出现如下错误:

改用 -r 参数:反编译时不解包资源,再回编译即可解决:

经测试,回编译之后的 APK 无法运行,原因在于R文件夹并未打包进去,而是打包了一个 Res 文件夹,导致安装后 APP 图标都显示不正确,故需要用7-zip手动删除 qqrepack.apk 内的 Res 文件夹,然后把原版 qq.apk 内的 R 文件夹拷贝到 qqrepack.apk 内,再重新签名即可使用。

PS1:要用破解版的QQ,否则会闪退
PS2:也可将原版QQ内的R文件夹解压后,拷贝到反编译出的qquildapk内,这样回编译时回自动添加到qqrepack.apk内,无需再通过7-zip操作

Ⅳ apk程序无法回编译,求解

检查一下你的main方法,不支持#FFFD这个,估计是语句有问题.

Ⅵ 求助APK反编译后无法回编译

用apktool重新打包,再用apksign签名。你上态蔽面那些是资源没法碰宽反汇编,没事的。重新打包的时候笑闭亮,资源手动加入。

Ⅶ 反编译apk之后无法回编译,怎么回事

使用apktool进行apk的反汇编时,没有出现问题(有问题的自行解决),

但是进行回汇编时出现:

F:\apktool>apktool b Hello Hello.apk
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathN
otExist: apktool.yml
at brut.androlib.Androlib.readMetaFile(Unknown Source)
at brut.androlib.Androlib.build(Unknown Source)
at brut.androlib.Androlib.build(Unknown Source)
at brut.apktool.Main.cmdBuild(Unknown Source)
at brut.apktool.Main.main(Unknown Source)
Caused by: brut.directory.PathNotExist: apktool.yml
at brut.directory.AbstractDirectory.getFileInput(Unknown Source)
... 5 more
经验证是,反汇编时没有生成apktool.yml
进行反汇编时,改用命令apktool d -r xx.apk xx便可以解决(加上了-r选项)

Ⅷ apk反编译,回编出错了

不影响正常运行,只是编译环境,
compileSdkVersion 告诉 Gradle 用哪个 Android SDK 版本编译你的应用。使用任何新添加的 API 就需要使用对应 Level 的 Android SDK。
需要强调的是修改 compileSdkVersion 不会改变运行时的行为。当你修改了 compileSdkVersion 的时候,可能会出现新的编译警告、编译错误,但新的 compileSdkVersion 不会被包含到 APK 中:它纯粹只是在编译的时候使用。(你真的应该修复这些警告,他们的出现一定是有原因的)
因此我们强烈推荐总是使用最新的 SDK 进行编译。在现有代码上使用新的编译检查可以获得很多好处,避免新弃用的 API ,并且为使用新的 API 做好准备。
注意,如果使用 Support Library ,那么使用最新发布的 Support Library 就需要使用最新的 SDK 编译。例如,要使用 23.1.1 版本的 Support Library ,compileSdkVersion 就必需至少是 23 (大版本号要一致!)。通常,新版的 Support Library 随着新的系统版本而发布,它为系统新增加的 API 和新特性提供兼容性支持。
解决办法有两种(我测试的前提是反编译的母包是没有包含这两个属性的):
(1)使用apktool 2.3.2版本,因为2.3.3之后版本针对appt和appt2做了修改,最后AndroidManifest.xml里面不在包含compileSdkVersion和compileSdkVersionCodename
(2)清除原本的1.apk,重新指定framework-dir:java -jar apktool_2.4.0.jar empty-framework-dir --force,最后发现可以回编译成功,但是AndroidManifest.xml还是会包含compileSdkVersion和compileSdkVersionCodename。

Ⅸ APK 反编译失败 是为啥

1
有没有加饥梁载framework-res.apk构架?在编译一些系统程序时需要先加载framework-res.apk这个系统构架。
2
反编的文件及framework-res.apk是不是官方原版未改动过的?很多时候出错是因为反编的文件是别人或自己改动过的,建议直接从官方固件中提取文件进者肢歼行编译。
3
技巧说明使用的工具是否版本过低?目前APK编译工具apktool已更新了
4
技巧说明以上都没有问题?反编后什么也不改回编也出错?那只有一个方法了:可以尝试一下用低版本的apktool进行反编译,然后在用高版本的apktoo工具回编译。
还有比如JAVA环境是否首冲搭建正确这些基本问题这里就不说了。

Ⅹ apk反编译无法回编

你加入了代码或者图片而没有在profile.xml中加入id,很多回编译出错都是因为这个。

热点内容
修罗云服务器 发布:2024-05-06 18:05:18 浏览:708
什么电脑可以安装安卓系统 发布:2024-05-06 18:05:15 浏览:776
金标顶配都有哪些配置 发布:2024-05-06 17:58:22 浏览:599
怎么看配置高低是否换电脑 发布:2024-05-06 17:32:01 浏览:968
linux命令查看目录 发布:2024-05-06 17:24:18 浏览:531
sqlvb 发布:2024-05-06 17:24:16 浏览:227
分镜头脚本软件 发布:2024-05-06 17:22:54 浏览:824
华为手机百度的缓存如何清理 发布:2024-05-06 17:22:53 浏览:941
网投源码 发布:2024-05-06 17:10:35 浏览:871
看门狗脚本 发布:2024-05-06 17:10:28 浏览:108