當前位置:首頁 » 編程軟體 » 無法回編譯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,很多回編譯出錯都是因為這個。

熱點內容
qq群里上傳的文件怎麼刪除 發布:2024-04-24 22:13:21 瀏覽:357
途岳配置升級了什麼 發布:2024-04-24 21:55:55 瀏覽:886
刷機安卓10狀態欄圓角如何修復 發布:2024-04-24 21:24:00 瀏覽:135
創建sql資料庫的命令是什麼 發布:2024-04-24 21:23:58 瀏覽:43
不是安卓該如何下載畫質怪獸 發布:2024-04-24 21:18:51 瀏覽:701
php載入網頁 發布:2024-04-24 21:15:20 瀏覽:161
遠程伺服器更換ip地址 發布:2024-04-24 21:14:43 瀏覽:528
什麼時候上線華為方舟編譯器軟體 發布:2024-04-24 21:10:21 瀏覽:631
安卓布局文件指的是哪個 發布:2024-04-24 21:08:05 瀏覽:889
磁帶存儲價格 發布:2024-04-24 21:04:22 瀏覽:902