SystemUI Decompile help - Motorola Atrix 2

hello,
To anyone who has decompiled and recompiled SystemUI in apktool, please help. Sorry if this is noobish or if I'm being a fool and making a stupid mistake but I can't seem to figure this out. Heres what I did:
>1) copied apktool to C:\apktool
>2) replaced aapt with mine from sdk (tried without replacing too(aapt is from api revision 10))
>3) in command prompt typed: apktool d SystemUI.apk
>4)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
>5) what happened? lots of errors and no apktool.yml in SystemUI
>6) apktool b SystemUI
>7)
WHY
Help please.

First off, I use APK Manager, so... you may want to try that. But, you need to set your framework for the apktool. Try this:
Put copies of framework-res, blur-res, moto-res, and SystemUI apks in the folder with apktool.
Then open the command prompt on that folder (just right-click, or hold shift and right-click on the folder and choose "open command prompt here").
In the command prompt, type the following for all four apks that you copied, hitting enter after each entry:
apktool if framework-res.apk
apktool if blur-res.apk ...
That should let you de/recompile apks like SystemUI and Settings. If you're getting compiling errors - that could be a number of things - check the log - usually a broken .9.png - but that's a whole 'nother story or tutorial..
Good luck!
Sent from my mind using XDA

alteredlikeness said:
First off, I use APK Manager, so... you may want to try that. But, you need to set your framework for the apktool. Try this:
Put copies of framework-res, blur-res, moto-res, and SystemUI apks in the folder with apktool.
Then open the command prompt on that folder (just right-click, or hold shift and right-click on the folder and choose "open command prompt here").
In the command prompt, type the following for all four apks that you copied, hitting enter after each entry:
apktool if framework-res.apk
apktool if blur-res.apk ...
That should let you de/recompile apks like SystemUI and Settings. If you're getting compiling errors - that could be a number of things - check the log - usually a broken .9.png - but that's a whole 'nother story or tutorial..
Good luck!
Sent from my mind using XDA
Click to expand...
Click to collapse
Thanks dude, I'm trying it now.
Edit: It works. Thank you so much!!!!!!!!

having dumploads of problems compiling SystemUI. Looky here:
even more when scroll up but mostly same.
what do?

Bmatthews11 said:
having dumploads of problems compiling SystemUI. Looky here:
even more when scroll up but mostly same.
what do?
Click to expand...
Click to collapse
Check the log.txt file and look for your most recent timestamp. It should tell you exactly what's wrong. For example (from one of my recent simple stupid errors - 9patch file, of course):
Code:
--------------------------------------------------------------------------
|Sat 06/16/2012 -- 10:30:15.00|
--------------------------------------------------------------------------
java version "1.7.0_02"
Java(TM) SE Runtime Environment (build 1.7.0_02-b13)
Java HotSpot(TM) 64-Bit Server VM (build 22.0-b10, mixed mode)
Could Not Find C:\android-sdk\place-apk-here-for-modding\../place-apk-here-for-modding/signedframework-res1.apk
Could Not Find C:\android-sdk\place-apk-here-for-modding\../place-apk-here-for-modding/unsignedframework-res1.apk
I: Loading resource table...
I: Loaded.
I: Decoding file-resources...
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...
W: Could not find sources
I: Checking whether resources has changed...
I: Building resources...
ERROR: 9-patch image C:\android-sdk\other\..\projects\framework-res.apk\res\drawable-hdpi\zz_moto_jog_tab_bar_left_begin.9.png malformed.
Frame pixels must be either solid or transparent (not intermediate alphas).
Found at pixel #35 along left edge.
ERROR: Failure processing PNG image C:\android-sdk\other\..\projects\framework-res.apk\res\drawable-hdpi\zz_moto_jog_tab_bar_left_begin.9.png
C:\android-sdk\other\..\projects\framework-res.apk\res\values\public.xml:3129: error: Public entry identifier 0x10801bb entry index is larger than available symbols (index 443, total symbols 40).
C:\android-sdk\other\..\projects\framework-res.apk\res\values\public.xml:3129: error: Public symbol drawable/APKTOOL_DUMMY_01bb declared here is not defined.
If it's a .9.png file error, use draw9patch from the sdk to fix it (or possibly GIMP or Photoshop if you're savvy). Compare with a stock decompiled image if need be...
Side note: Don't worry about the APKTOOL_DUMMY lines if you find them throughout your .xmls - Brut.all himself says: "This is feature, not a bug! In some cases there are broken resources, so apktool has to fill holes with something."

alteredlikeness said:
Check the log.txt file and look for your most recent timestamp. It should tell you exactly what's wrong. For example (from one of my recent simple stupid errors - 9patch file, of course):
Code:
--------------------------------------------------------------------------
|Sat 06/16/2012 -- 10:30:15.00|
--------------------------------------------------------------------------
java version "1.7.0_02"
Java(TM) SE Runtime Environment (build 1.7.0_02-b13)
Java HotSpot(TM) 64-Bit Server VM (build 22.0-b10, mixed mode)
Could Not Find C:\android-sdk\place-apk-here-for-modding\../place-apk-here-for-modding/signedframework-res1.apk
Could Not Find C:\android-sdk\place-apk-here-for-modding\../place-apk-here-for-modding/unsignedframework-res1.apk
I: Loading resource table...
I: Loaded.
I: Decoding file-resources...
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...
W: Could not find sources
I: Checking whether resources has changed...
I: Building resources...
ERROR: 9-patch image C:\android-sdk\other\..\projects\framework-res.apk\res\drawable-hdpi\zz_moto_jog_tab_bar_left_begin.9.png malformed.
Frame pixels must be either solid or transparent (not intermediate alphas).
Found at pixel #35 along left edge.
ERROR: Failure processing PNG image C:\android-sdk\other\..\projects\framework-res.apk\res\drawable-hdpi\zz_moto_jog_tab_bar_left_begin.9.png
C:\android-sdk\other\..\projects\framework-res.apk\res\values\public.xml:3129: error: Public entry identifier 0x10801bb entry index is larger than available symbols (index 443, total symbols 40).
C:\android-sdk\other\..\projects\framework-res.apk\res\values\public.xml:3129: error: Public symbol drawable/APKTOOL_DUMMY_01bb declared here is not defined.
If it's a .9.png file error, use draw9patch from the sdk to fix it (or possibly GIMP or Photoshop if you're savvy). Compare with a stock decompiled image if need be...
Side note: Don't worry about the APKTOOL_DUMMY lines if you find them throughout your .xmls - Brut.all himself says: "This is feature, not a bug! In some cases there are broken resources, so apktool has to fill holes with something."
Click to expand...
Click to collapse
found on internet tht apktool 1.4.3 has error where is does bad decompile sometimes so i deleted the SystemUI folder(I copied my changes first), then I re-decompiled and pasted into new file. Compiled like a charm.

Related

framework-res.apk from ics leak decomplie/recomplie

anyone else had luck w decomplie and recomplie the stock framework-res file with apktool
It works if i start messing with other apks in the rom but not the framework.
I am missing something?
apktool b framework-res
W: Could not find sources
I: Checking whether resources has changed...
I: Building resources...
invalid resource directory name: /root/tools-apk/framework-res/res/drawable-sw600dp-hdpi
invalid resource directory name: /root/tools-apk/framework-res/res/values-w720dp
invalid resource directory name: /root/tools-apk/framework-res/res/values-sw600dp-land
invalid resource directory name: /root/tools-apk/framework-res/res/values-sw600dp-w1024dp
invalid resource directory name: /root/tools-apk/framework-res/res/values-sw360dp
invalid resource directory name: /root/tools-apk/framework-res/res/values-w480dp
invalid resource directory name: /root/tools-apk/framework-res/res/values-sw600dp-w1280dp
invalid resource directory name: /root/tools-apk/framework-res/res/values-sw600dp
invalid resource directory name: /root/tools-apk/framework-res/res/values-sw400dp
invalid resource directory name: /root/tools-apk/framework-res/res/values-w500dp
invalid resource directory name: /root/tools-apk/framework-res/res/values-w360dp
invalid resource directory name: /root/tools-apk/framework-res/res/values-h720dp
invalid resource directory name: /root/tools-apk/framework-res/res/layout-w600dp
invalid resource directory name: /root/tools-apk/framework-res/res/values-w600dp
invalid resource directory name: /root/tools-apk/framework-res/res/layout-sw400dp
invalid resource directory name: /root/tools-apk/framework-res/res/layout-sw600dp
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, -F, /tmp/APKTOOL2832548951564014427.tmp, -x, -S, /root/tools-apk/framework-res/res, -M, /root/tools-apk/framework-res/AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(An drolibResources.java:193)
at brut.androlib.Androlib.buildResourcesFull(Androlib .java:301)
at brut.androlib.Androlib.buildResources(Androlib.jav a:248)
at brut.androlib.Androlib.build(Androlib.java:171)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:182)
at brut.apktool.Main.main(Main.java:67)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, /tmp/APKTOOL2832548951564014427.tmp, -x, -S, /root/tools-apk/framework-res/res, -M, /root/tools-apk/framework-res/AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(An drolibResources.java:191)
... 6 more
http://www.hive11.com/android/framework-res.apk heres the file
Works perfectly fine for me...
Sent from my Liberty using XDA
what version of apktool are you using
Newest, I believe
Sent from my Liberty using XDA
yeah this ones tricky...
lets call one oldapktool.jar and one apktool.jar
get in a directory with oldapktool.jar and framework-res.apk
rename oldapktool.jar to apktool.jar
install ur framework "apktool if framework-res.apk"
decompile ur framework "apktool d framework-res.apk"
????
overwrite apktool.jar with newer one (its 1.4.3)
compile ur framework "apktool b framework-res"
dont ask me why the older one does it. i have too many copies of apktool and aapt that i have to mix and match to take apart and put togeather apks.
still not working and aapt is there and the path is set right dont get it
mhx said:
still not working and aapt is there and the path is set right dont get it
Click to expand...
Click to collapse
are you on windows?
no linux ubuntu
Try with apktool 1.4.1
I have successfully decompiled it and all ICS apks I'm at school. im on windows though I have a procedure to do it
Sent from my SAMSUNG-SGH-I727 using xda premium
Code:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\mike>cd Desktop\forum
C:\Users\mike\Desktop\forum>dir
Volume in drive C has no label.
Volume Serial Number is 1E40-0F67
Directory of C:\Users\mike\Desktop\forum
03/29/2012 05:48 PM <DIR> .
03/29/2012 05:48 PM <DIR> ..
12/07/2011 09:38 PM 3,090,514 apktool.jar
03/29/2012 05:05 PM 8,272,966 framework-res.apk
03/29/2012 05:18 PM 2,676,027 oldapktool.jar
3 File(s) 14,039,507 bytes
2 Dir(s) 63,445,483,520 bytes free
C:\Users\mike\Desktop\forum>java -jar oldapktool.jar if framework-res.apk
I: Framework installed to: C:\Users\mike\apktool\framework\1.apk
C:\Users\mike\Desktop\forum>java -jar oldapktool.jar d framework-res.apk
I: Loading resource table...
I: Loaded.
I: Decoding file-resources...
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...
C:\Users\mike\Desktop\forum>java -jar apktool.jar b framework-res
W: Could not find sources
I: Checking whether resources has changed...
I: Building resources...
aapt: warning: string 'gps_assisted_data_download' has no default translation in
C:\Users\mike\Desktop\forum\framework-res\res; found: ko
aapt: warning: string 'policydesc_allow_htmlemail' has no default translation in
C:\Users\mike\Desktop\forum\framework-res\res; found: en_US
aapt: warning: string 'policylab_allow_htmlemail' has no default translation in
C:\Users\mike\Desktop\forum\framework-res\res; found: en_US
aapt: warning: string 'wifi_p2p_pbc_go_negotiation_request_message' has no defau
lt translation in C:\Users\mike\Desktop\forum\framework-res\res; found: es
aapt: warning: string 'wifi_p2p_pin_display_message' has no default translation
in C:\Users\mike\Desktop\forum\framework-res\res; found: es
aapt: warning: string 'wifi_p2p_pin_go_negotiation_request_message' has no defau
lt translation in C:\Users\mike\Desktop\forum\framework-res\res; found: es
I: Building apk file...
C:\Users\mike\Desktop\forum>
so forget the aapt.exe and .bat from the zip i gave you.
for me its defaulting to the one in my system32 dir which is the latest from the android sdk. dont use any of the aapt from apktool. update your aapt via android sdk (for me its using sdk manager.exe which grabs all the sdk tools, not sure on ubnix)
then try it again
---------- Post added at 11:17 PM ---------- Previous post was at 11:10 PM ----------
M0D1441 said:
Try with apktool 1.4.1
I have successfully decompiled it and all ICS apks I'm at school. im on windows though I have a procedure to do it
Sent from my SAMSUNG-SGH-I727 using xda premium
Click to expand...
Click to collapse
the one included in the zip i gave him is actually apktool1.4.2.31e6dc5 (oldapktool.jar)
i found i have to mix and match apktools and aapts depending on ics or gb apks and framework and systemui are even worse
It's weird it works for any other file in the rom except for this 1
compile with 1.4.3 and decompile with 1.4.2
i havent been able to decompile crap...
i got it working in windows but not linux
http://forum.xda-developers.com/showthread.php?t=1427959
yeah full time linux user here. I only fire up the windows machine if i need ODIN.
i use windows for desktop and do most of my dev work on a dedicated linux colo or my cloud server
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
i need lots bw!
mhx said:
i use windows for desktop and do most of my dev work on a dedicated linux colo or my cloud server
i need lots bw!
Click to expand...
Click to collapse
did you delete classes.dex before decompiling?

Decompiling Settings.apk on Xperia V - Android 4.3

I'm using android 4.3 stock version of framework-res.apk to decompile Settings.apk but Apktool 1.5.2 & Apktool 2.0 beta are giving me this error :
"Can't find framework resources for package of id: 2. You must install proper framework files, see project website for more info."
any help ?
Found the Problem & fixed apktool
apparently I needed to install SemcGenericUxpRes.apk before decompiling the Settings.apk file, another problem presented itself at this point..
installing SemcGenericUxpRes.apk using apktool 2.0 beta 7 resulted an error :
Exception in thread "main" brut.androlib.AndrolibException: Multiple types: <emp
ty>
at brut.androlib.res.data.ResPackage.addType(ResPackage.java:168)
at brut.androlib.res.decoder.ARSCDecoder.readType(ARSCDecoder.java:131)
at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:10
9)
at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:81)
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:49)
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:40)
at brut.androlib.res.AndrolibResources.installFramework(AndrolibResource
s.java:686)
at brut.androlib.Androlib.installFramework(Androlib.java:640)
at brut.apktool.Main.cmdInstallFramework(Main.java:249)
at brut.apktool.Main.main(Main.java:91)
so I did some research and fixed the 'Multiple types' bug in apktool (I'll attach the fixed version at the end of the post) ,and now every thing worked just fine ^_^
C:\apk>java -jar apktool-fixed.jar if framework-res.apk
I: Framework installed to: C:\Users\User\apktool\framework\1.apk
C:\apk>java -jar apktool-fixed.jar if SemcGenericUxpRes.apk
I: Framework installed to: C:\Users\User\apktool\framework\2.apk
C:\apk>java -jar apktool-fixed.jar d Settings.apk
I: Using Apktool 2.0.0-Beta7 on Settings.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\User\apktool\framework\1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Loading resource table from file: C:\Users\User\apktool\framework\2.apk
Cleaning up unclosed ZipFile for archive C:\Users\User\apktool\framework\2.apk
I: Loading resource table...
Cleaning up unclosed ZipFile for archive C:\Users\User\apktool\framework\1.apk
I: Copying assets and libs...
I: Copying unknown files/dir...
I: Copying original files...
fixed apktool 2.0 beta 7 (remove spaces from the url) : http :// www . mediafire . com /?cnstb97sszm476y
delete as I found the answer, please ignore

EMERGENCY, please help with Apk Easy Tool, trying to compile an app but it shows this

07/09/2019 18:20:25
Compiling APK file... (CMD mode: WriteLine)
/c "java -Xmx1024m -jar "C:\Program Files (x86)\APK Easy Tool\Apktool\apktool_2.4.0.jar" b -f -o "C:\Users\madani\Desktop\APK Easy Tool\recompiled\tyblate-recompiled.apk" "C:\Users\madani\Desktop\APK Easy Tool\decompiled\tyblate" "
I: Using Apktool 2.4.0
I: Smaling smali folder into classes.dex...
I: Building resources...
S: WARNING: Could not write to (C:\Users\madani\AppData\Local\apktool\framework), using C:\Users\madani\AppData\Local\Temp\ instead...
S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable
W: ERROR: 'C:\Users\madani\AppData\Local\Temp\APKTOOL7465868708093004443.tmp' exists (use '-f' to force overwrite)
brut.directory.DirectoryException: java.util.zip.ZipException: zip file is empty
------------------------------------------

Apktool.jar common errors and solutions

As I'm no longer modding, this thread will not be updated anymore. Please refer to apktool issues https://github.com/iBotPeaches/Apktool/issues?q=is:issue++ and discussions https://github.com/iBotPeaches/Apktool/discussions for latest infomation
Since many got apktool.jar errors and don't know how to search or solve themself, I decided to explain and provide solutions here with links to Github. I have a friend who sometime can help me with this.
I will do my best to get much info. Feel free to post your thoughts
Know your error:
There’s a wide range of error messages you may encounter when decompiling and compiling your app. Depending on the kind of error you encounter, apktool.jar will always display the error message. Spotting error messages is easy
For example this log:
Code:
I: Using Apktool 2.4.1
I: Smaling smali folder into classes.dex...
I: Smaling smali_classes2 folder into classes2.dex...
I: Building resources...
W: D:\xxx\AndroidManifest.xml:15: Tag <uses-permission> attribute name has invalid character ' '.
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\evildog1\AppData\Local\Temp\brut_util_Jar_2200487015856364895.tmp, p, --forced-package-id, 127, --min-sdk-version, 19, --target-sdk-version, 28, --version-code, 19227, --version-name, 4.1.1, --no-version-vectors, -F, C:\Users\evildog1\AppData\Local\Temp\APKTOOL3877124333918122178.tmp, -e, C:\Users\evildog1\AppData\Local\Temp\APKTOOL2736431752124554942.tmp, -0, arsc, -I, C:\Users\evildog1\AppData\Local\apktool\framework\1.apk, -S, D:\xxx\res, -M, D:\xxx\AndroidManifest.xml]
If you think could not exec is your error, it's actually not, the real error is actually a 'warning'
Code:
W: D:\APK Easy Tool\1-Decompiled APKs\xxx\AndroidManifest.xml:15: Tag <uses-permission> attribute name has invalid character ' '
The good thing it tells you which line it occured AndroidManifest.xml:15:. it's line 15 in AndroidManifest.xml
This was caused by a space in a permission tag. Removing it will fix the compiling error
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
It's not always a simple fix. This always depending
Check the APK file:
Sometimes APK is obfuscated in many ways.
Open the APK using 7-zip and WinRar and see if the first classes.dex is smaller than 500 KB or way bigger than 10 MB. If so, it a sign it's encrypted. Decompiling and compiling the big dex file will result in a smaller size and it will fail to decrypt due to missing encrypted block
Decompile and check if smali files and codes are obfuscated. This is an example of Netflix app that is obfuscated
Don't ask me how to break protected APK, I'm not a reverser so I can't help you with it.
Troubleshooting:
Sometime those troubleshooting tricks helps fixing errors. Please try one or more of the following below
- If you are using any 3rd party GUI tools, please try the actual apktool.jar with CMD first
- Use latest version of apktool.jar: https://ibotpeaches.github.io/Apktool/ and test
- If you are using latest version, try use older version of apktool.jar. Sometimes it can mitigate the issue
- Clear framework apktool empty-framework-dir --force and decompile the APK again.
- Decompile APK with --only-main-classes (Only disasemble dex classes in root (classes[0-9].dex). Prevents disasemble dex from assets folder) (apktool 2.4.1 and up only)
- Decompile APK with --no-res if you are only editing Java (smali) (--no-res will prevent the decompile of resources. This keeps the resources.arsc intact without any decode.)
- Decompile APK with --no-src if you are only editing the resources (xml) (--no-src will prevent the disassembly of the dex file(s). This keeps the apk dex file(s) and simply moves it during build.)
- Compile with --use-aapt2 (Use the aapt2 binary instead of appt)
Errors list:
Tip: Press CTRL + F and find the words
If there is no error you are looking for, search it on following Github issue pages
Apktool: https://github.com/iBotPeaches/Apktool/issues
Baksmali/smali: https://github.com/JesusFreke/smali/issues
Deompile errors:
* Exception in thread "main" java.lang.NullPointerException (XML related)
This is an issue with apktool 2.4.1. Downgrade to 2.4.0 or below (2.3.4 is better)
* Exception in thread "main" org.jf.dexlib2.dexbacked.DexBackedDexFile$NotADexFile: Not a valid dex magic value: (xx xx xx xx xx xx xx xx)
Rare issue, it usally caused if it tries to decompile encrypted dex from assets folder
Decompile APK with --only-main-classes
* Exception in thread "main" brut.androlib.AndrolibException: brut.directory.DirectoryException: Error copying file: res
This is a trick to prevent decompiling on Windows. Open the APK file using 7zip or Winrar and delete the unnamed file from res folder
Or use Mac/Linux until then
See: https://github.com/iBotPeaches/Apktool/issues/1460
* Invalid debug offset
These are legitimate warnings about inconsistencies in the dex file. The invalid debug offset is otherwise ignored and the classes are successfully disassembled.
Compile errors:
* brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = -1073741515)
This was an issue with Java 8 32-bit on Apktool 2.4.0. Install 64-bit of Java or switch to other version
See: https://github.com/iBotPeaches/Apktool/issues/2141
* Cant find 9patch chunk in file: (...). Renaming it to *.png.
APK is Obfuscated
See: https://forum.xda-developers.com/showpost.php?p=81088145&postcount=619
* Cannot run program "aapt": CreateProcess error=2, The system cannot find the file specified
Not a bug. This means the default application that is copied to tmp and executed, could not be done. Therefore it relied on the aapt binary being accessible in the $PATH variable.
* Class (...) has already been interned
Decompile APK with --only-main-classes (apktool 2.4.1 and up only)
* Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathNotExist: apktool.yml
apktool.yml does not exist, because APK did not decompiled completely. Decompile again
* Float types not allowed
Remove the decimal from version number maybe?
Reported issue: https://forum.xda-developers.com/showpost.php?p=82840671&postcount=699
* Invalid resource directory name
Currently unknown. Try clear framework if you don't work with system apps
* Invalid file name: must contain only (...). Ignoring...
See: https://github.com/iBotPeaches/Apktool/issues/2282
* JAXP 1.5 Support is required to validate XML
Update apktool.jar to the latest version
* No resource identifier found for attribute 'isSplitRequired' in package 'android'
Split APK is not supported yet. See https://github.com/iBotPeaches/Apktool/issues/2218
If you are following some tutorials how to merge split apks into one, then remove the attribute android:isSplitRequired="true" from AndroidManifest.xml, save and compile again
* No resource identifier found for attribute (...) in package (...)
There are many reasons why. Please refer to these issues for more infomation: https://github.com/iBotPeaches/Apktool/issues?q=No+resource+identifier+found+for+attribute+
Try clear framework if you don't work with system apps
Sometimes, removing the attribute will fix the error and the app would run fine without it. Always test if the app is working fine or not
* No resource found that matches the given name
There are many reasons why. This is not always easy to fix
See issues
https://github.com/iBotPeaches/Apktool/issues/2365
https://github.com/iBotPeaches/Apktool/issues/2362
https://github.com/iBotPeaches/Apktool/issues/2339
https://github.com/iBotPeaches/Apktool/issues/2422
Try clear framework if you don't work with system apps
If you are working with system apps, you may need framework installed.
* Tag (...) missing required attribute name.
Not an easy fix, but you can try --use-aapt2 or don't decode resources (-r, --no-res) if you don't need
https://github.com/iBotPeaches/Apktool/issues/1880
Tag <uses-permission> attribute name has invalid character ' '
This was caused by a space in an attribute name. Removing it will fix the compiling error
Example, change:
Code:
<uses-permission android:name="com.google.android.finsky.permission.CHECK_LICENSE "/>
to
Code:
<uses-permission android:name="com.google.android.finsky.permission.CHECK_LICENSE"/>
* Unsupported res type name for bags
See: https://github.com/iBotPeaches/Apktool/issues/1719
* Unsigned short value out of range: 65536
You have too many methods. The method index can't fit into an unsigned 16-bit value each dex
Simply move your codes to smali_classes(X) or create new one. For example if smali_classes2 is the latest, move code to smali_classes3
Full error log:
Code:
Exception in thread "main" org.jf.util.ExceptionWithContext: Exception occurred while writing code_item for method Lcom/mintegral/msdk/thrid/okhttp/internal/publicsuffix/PublicSuffixDatabase;->findMatchingRule([Ljava/lang/String;)[Ljava/lang/String;
at org.jf.dexlib2.writer.DexWriter.writeDebugAndCodeItems(DexWriter.java:1046)
at org.jf.dexlib2.writer.DexWriter.writeTo(DexWriter.java:345)
at org.jf.dexlib2.writer.DexWriter.writeTo(DexWriter.java:300)
at org.jf.smali.Smali.assemble(Smali.java:131)
at org.jf.smali.AssembleCommand.run(AssembleCommand.java:96)
at org.jf.smali.Main.main(Main.java:100)
Caused by: org.jf.util.ExceptionWithContext: Error while writing instruction at code offset 0x52
at org.jf.dexlib2.writer.DexWriter.writeCodeItem(DexWriter.java:1319)
at org.jf.dexlib2.writer.DexWriter.writeDebugAndCodeItems(DexWriter.java:1042)
... 5 more
Caused by: org.jf.util.ExceptionWithContext: Unsigned short value out of range: 65536
at org.jf.dexlib2.writer.DexDataWriter.writeUshort(DexDataWriter.java:116)
at org.jf.dexlib2.writer.InstructionWriter.write(InstructionWriter.java:356)
at org.jf.dexlib2.writer.DexWriter.writeCodeItem(DexWriter.java:1279)
... 6 more
* warning: found plain 'id' attribute; did you mean the new 'android:id' name?
See: https://github.com/iBotPeaches/Apktool/issues/2188
* warning: string (...) has no default translation.
Those are warnings, they are fine.
* WARNING: Could not write to (C:\Users\(username)\AppData\Local\apktool\framework), using C:\Users\(username)\AppData\Local\Temp\ instead...
Use the --frame-path [folder] parameter and describing the folder you want the framework resources to reside.
This warning can be ignored if you don't use framework
Others:
* 'java' is not recognized as an internal or external command
Install/Re-install latest version of Java 8 https://java.com/en/download/ or set the enviorment path manually
* APKTOOL_DUMMY
If you get APKTOOL_DUMMY that's generally because apktool can't decode some of the information in the original APK and creates a 'dummy' value instead. Because there's no things called APKTOOL_DUMMY in public.xml, the APK can't be recompiled. It's likely because you try to compile splitted APK with some missing infomation
* Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
Increase the java heap size like:
java -Xmx4096m -jar apktool.jar
java -Xmx4g -jar apktool.jar
If your system is Windows and is 64-bit, please uninstall 32-bit version and install 64-bit version (Windows Offline (64-bit)) https://java.com/en/download/manual.jsp
* Unsupported major.minor version (...)
Upgrade java to the latest version https://java.com/en/download/
ppst reserved 2
Updated. If you found more errors, please let me know
i have res relative problem, can anyone solve this
evildog1 said:
Updated. If you found more errors, please let me know
Click to expand...
Click to collapse
why I get this type of error
lokesh.Dewangan said:
why I get this type of error
Click to expand...
Click to collapse
Try
Code:
--use-aapt2
i get this error when decompile classes.dex :
Lcom/ano/gshell/AnoApplication;-><clinit>()V: Invalid debug offset
Lcom/ano/gshell/AnoApplication;-><init>()V: Invalid debug offset
Lcom/ano/gshell/AnoApplication;->dec(Ljava/lang/String;)Ljava/lang/String;: Invalid debug offset
Lcom/ano/gshell/AnoApplication;->dec(Ljava/lang/String;)Ljava/lang/String;: Invalid debug offset
Lcom/ano/gshell/AnoApplication;->attachBaseContext(Landroid/content/Context;)V: Invalid debug offset
Lcom/ano/gshell/AnoApplication;->attachBaseContext(Landroid/content/Context;)V: Invalid debug offset
and then after recompile the app and install the app works then exit in lobby
but when i use --no-src the app work without crash but i cant edit smali like that.
this is the app link try decompile and recompile dex file.
Download
I have a little problem described here, would you look at it?
Thx
Hello, when I try to compile I get an error, could you please help me.
Thank you
Code:
Checking for update...
Compiling APK file... (Press ESC to cancel)
Executing command: java.exe -jar "C:\Users\José Andrés\Desktop\PÒRTABLE EASY\Apktool\apktool_2.5.0.jar" b -d -f --use-aapt2 -o "C:\Users\José Andrés\Desktop\PÒRTABLE EASY\2-Recompiled APKs\Teba_19.3.apk" "C:\Users\José Andrés\Desktop\PÒRTABLE EASY\1-Decompiled APKs\Teba_19.3"
I: Using Apktool 2.5.0
I: Smaling smali folder into classes.dex...
I: Building resources...
I: Using aapt2 - setting 'debuggable' attribute to 'true' in AndroidManifest.xml
W: C:\Users\José Andrés\Desktop\PÒRTABLE EASY\1-Decompiled APKs\Teba_19.3\res: error: failed to open directory: El sistema no puede encontrar el archivo especificado. (2).
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\JOSAND~1\AppData\Local\Temp\brut_util_Jar_131902690237150689966905402769991619447.tmp, compile, --dir, C:\Users\José Andrés\Desktop\PÒRTABLE EASY\1-Decompiled APKs\Teba_19.3\res, --legacy, -o, C:\Users\José Andrés\Desktop\PÒRTABLE EASY\1-Decompiled APKs\Teba_19.3\build\resources.zip]
Compile failed. Please read the log
When you write:
"Sometimes, removing the attribute will fix the error and the app would run fine without it. Always test if the app is working fine or not"
where i can do it, removing the attribute ?
My error is:
W: C:\Users\Marco\Documents\APK Easy Tool\1-Decompiled APKs\XRecorder_v2.1.1.1__Arm7_Pro__UserUpload.Net\res\layout\a0.xml:2: error: No resource identifier found for attribute 'paddingBottomNoButtons' in package 'videoeditor.videorecorder.screenrecorder'
etc...
Thank
Hispa
Sorry for very late reply guys
tahooo said:
i get this error when decompile classes.dex :
Lcom/ano/gshell/AnoApplication;-><clinit>()V: Invalid debug offset
Lcom/ano/gshell/AnoApplication;-><init>()V: Invalid debug offset
Lcom/ano/gshell/AnoApplication;->dec(Ljava/lang/String;)Ljava/lang/String;: Invalid debug offset
Lcom/ano/gshell/AnoApplication;->dec(Ljava/lang/String;)Ljava/lang/String;: Invalid debug offset
Lcom/ano/gshell/AnoApplication;->attachBaseContext(Landroid/content/Context;)V: Invalid debug offset
Lcom/ano/gshell/AnoApplication;->attachBaseContext(Landroid/content/Context;)V: Invalid debug offset
and then after recompile the app and install the app works then exit in lobby
but when i use --no-src the app work without crash but i cant edit smali like that.
this is the app link try decompile and recompile dex file.
Download
Click to expand...
Click to collapse
Sounds like the app has a protection against tampering. I cannot help with that
gidano said:
I have a little problem described here, would you look at it?
Thx
Click to expand...
Click to collapse
I believe it has been fixed https://github.com/iBotPeaches/Apktool/pull/2650
Try using latest commit of apktool.jar (Requires Github account to download) https://github.com/iBotPeaches/Apktool/actions/runs/1712896706
Jaloga said:
Hello, when I try to compile I get an error, could you please help me.
Thank you
Code:
Checking for update...
Compiling APK file... (Press ESC to cancel)
Executing command: java.exe -jar "C:\Users\José Andrés\Desktop\PÒRTABLE EASY\Apktool\apktool_2.5.0.jar" b -d -f --use-aapt2 -o "C:\Users\José Andrés\Desktop\PÒRTABLE EASY\2-Recompiled APKs\Teba_19.3.apk" "C:\Users\José Andrés\Desktop\PÒRTABLE EASY\1-Decompiled APKs\Teba_19.3"
I: Using Apktool 2.5.0
I: Smaling smali folder into classes.dex...
I: Building resources...
I: Using aapt2 - setting 'debuggable' attribute to 'true' in AndroidManifest.xml
W: C:\Users\José Andrés\Desktop\PÒRTABLE EASY\1-Decompiled APKs\Teba_19.3\res: error: failed to open directory: El sistema no puede encontrar el archivo especificado. (2).
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\JOSAND~1\AppData\Local\Temp\brut_util_Jar_131902690237150689966905402769991619447.tmp, compile, --dir, C:\Users\José Andrés\Desktop\PÒRTABLE EASY\1-Decompiled APKs\Teba_19.3\res, --legacy, -o, C:\Users\José Andrés\Desktop\PÒRTABLE EASY\1-Decompiled APKs\Teba_19.3\build\resources.zip]
Compile failed. Please read the log
Click to expand...
Click to collapse
Try enable aapt2
hispanico957 said:
When you write:
"Sometimes, removing the attribute will fix the error and the app would run fine without it. Always test if the app is working fine or not"
where i can do it, removing the attribute ?
My error is:
W: C:\Users\Marco\Documents\APK Easy Tool\1-Decompiled APKs\XRecorder_v2.1.1.1__Arm7_Pro__UserUpload.Net\res\layout\a0.xml:2: error: No resource identifier found for attribute 'paddingBottomNoButtons' in package 'videoeditor.videorecorder.screenrecorder'
etc...
Thank
Hispa
Click to expand...
Click to collapse
By editing the xml if you know how. I won't cover it here
Otherwise report issue to https://github.com/iBotPeaches/Apktool/issues
How to prevent apktool from merging res folders?
Example:
color
color-v11
get merged into
color
gcrutchr said:
How to prevent apktool from merging res folders?
Example:
color
color-v11
get merged into
color
Click to expand...
Click to collapse
Sorry, didn't saw this post. I think this is a feature. You should contact iBotPeaches
evildog1 said:
Sorry, didn't saw this post. I think this is a feature. You should contact iBotPeaches
Click to expand...
Click to collapse
It can't be a feature. SystemUI.apk won't work without res/**.xml-v??
When I change the Minimum SDK Version using ApkTool. The apk it's Crashing.
Just a heads-up.
If you like modifying Android core files (like framework.jar) on Android 10 or greater (API 29+) using apktool 2.6.1 it's not going to work so nicely even if it doesn't bomb on an error.
Code:
Error occurred while disassembling class Landroid.util.proto.HapiProto; - skipping class
java.lang.ArrayIndexOutOfBoundsException: 6
at org.jf.dexlib2.HiddenApiRestriction.getAllFlags(HiddenApiRestriction.java:108)
It will make a mish-mash of the new hidden API modifiers (whitelist, greylist, greylist-max-o...)
@iBotPeaches has this already in sight and is trying to resolve it.
https://github.com/iBotPeaches/Apktool/issues/2918
On a bit of a tangent, in the interim I tried the "nuclear option".
I was working on a framework.jar and couldn't "round-trip" it, so I edited out all the hidden API modifiers.
It builds fine, but the logcat was a train wreck.
Anybody know why?
Edit: I gave up on nuking all hidden API modifiers.
apktool d works fine so I can disassemble at least, but I don't think there are any options to show the file addresses of the instructions.
So I wrote a work-in-progress to disassemble with file addresses:
Code:
C:\>dexdump classes.dex /cKeyboardEntryMap /mgenerateMap
KeyboardEntryMap
002eebec generateMap
002eebfc const-string/jumbo
002eec02 invoke-static
002eec08 move-result-object
...
002eec62 invoke-interface
002eec68 goto
002eec6a return-void
Then I just need some judicious hex editing to nops or return-void.
Exception in thread "main" java.lang.ClassCastException: class brut.androlib.res.data.value.ResStringValue cannot be cast to class brut.androlib.res.data.value.ResIntValue (brut.
androlib.res.data.value.ResStringValue and brut.androlib.res.data.value.ResIntValue are in unnamed module of loader 'app')
Anyone know anything about this?

How do I compile Apktool into a Linux binary ?

Hello, I'm posting that thread because I need help to compile the Apktool JAR file into a Linux binary.
I need to compile it into a binary because my VPS can't run Java, when running Java, there is a lot of problems, maybe that because my portable Java installation is wrong, I dont know.
(my VPS provider dont provide Java and has disabled tools like APT, YUM, PACMAN, SNAP or DPKG...)
I thought it could be a better idea to compile the Apktool JAR file into a native Linux binary, and I've done it, but there is a problem in the binary.
Since my server is on Linux x86_64 (Unknown distribution) and my PC is on Linux x86_64 (MX Linux, Debian-based), it could work.
After a lot of searching, I finally installed GraalVM Native Image and made a command to compile the JAR file into a binary.
And after 15 minutes on my (bad) computer it generated a Linux binary file, but when trying to decompile an APK on my computer with it, it gaves:
$ ./apktool d myapp.apk -f
I: Using Apktool 2.7.0 on myapp.apk
I: Loading resource table...
Exception in thread "main" java.nio.charset.UnsupportedCharsetException: CESU8
at [EMAIL][email protected][/EMAIL]/java.nio.charset.Charset.forName(Charset.java:537)
at brut.androlib.res.decoder.StringBlock.<init>(StringBlock.java:277)
at brut.androlib.res.decoder.StringBlock.read(StringBlock.java:52)
at brut.androlib.res.decoder.ARSCDecoder.readTableHeader(ARSCDecoder.java:79)
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:51)
at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:780)
at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:64)
at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:56)
at brut.androlib.Androlib.getResTable(Androlib.java:74)
at brut.androlib.ApkDecoder.getResTable(ApkDecoder.java:251)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:109)
at brut.apktool.Main.cmdDecode(Main.java:175)
at brut.apktool.Main.main(Main.java:79)
But if on my computer I run the same command but with the JAR file, it gaves:
$ java -jar apktool.jar d myapp.apk -f
I: Using Apktool 2.7.0 on myapp.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /home/hg/.local/share/apktool/framework/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Baksmaling classes2.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
(so it works on the same APK with the JAR file but not with the binary)
In this message, there will be the binary I've compiled. (for Linux x86_64 only)
Please note that I'm new to XDA Developers, but also to Java and GraalVM Native Image: I never touched one single line of Java code.
I made Python programms, but I never made any Java code. And I discovered GraalVM yesterday.
Can someone help me please ?
And, it is possible that I have problems with APK frameworks when running the binary on my server ?
I can only access to files under my home directory, will I need to install frameworks manually in an "apktool" directory on my home directory ?
Thanks in advance, HGStyleOfficial (my real nickname is HGStyle but it was allready taken on the forum by a random guy registered in 2010 and who didnt had many activities on the forum...)
Apktool version 2.7.0 (latest)
OpenJDK 11.0.18 for Debian
GraalVM 20.0.1 (Java 20, Linux x64)
native-image 20.0.1 2023-04-18

Categories

Resources