[Guide] How to deodex SMemo.apk - Galaxy S III Android Development

SMemo.apk is making problem when trying to deodex it.
I found the dependencies files and it works great!
Download the 2 attached files: servlet.jar and memo.jar
put these files in your framework folder
Use these files to deodex SMemo.apk -
twframework.jar
com.google.android.maps.jar
secmediarecorder.jar
memo.jar
servlet.jar
deodex your SMemo.apk
Good luck! Don't forget to hit the "Thanks" button :good:

Nice work dude!

You also need twframework.jar and com.google.android.maps.jar but those are to find in /framework.
But anyway there are still some errors:
Code:
Error while disassembling method Lcom/diotek/gdocs/util/GDocsSync$1;->run()V. Continuing.
org.jf.dexlib.Code.Analysis.ValidationException: Could not resolve the field in class Lcom/diotek/gdocs/util/GDocsSync; at offset 120

added full list of jar needed to deodex SMemo

firefds said:
added full list of jar needed to deodex SMemo
Click to expand...
Click to collapse
hm still the same
Code:
Error while disassembling method Lcom/diotek/gdocs/util/GDocsSync$1;->run()V. Continuing.
org.jf.dexlib.Code.Analysis.ValidationException: Could not resolve the field in class Lcom/diotek/gdocs/util/GDocsSync; at offset 120
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:1084)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:213)
at org.jf.baksmali.Adaptors.MethodDefinition.addAnalyzedInstructionMethodItems(MethodDefinition.java:379)
at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.java:132)
at org.jf.baksmali.Adaptors.ClassDefinition.writeMethods(ClassDefinition.java:338)
at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java:117)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:205)
at org.jf.baksmali.main.main(main.java:297)
opcode: iput-quick
CodeAddress: 3
Method: Lcom/diotek/gdocs/util/GDocsSync$1;->run()V
What version of smali/baksmali are u using?

Bak/smali 1.3.2
Dont forget to add the -a 15 tag
Sent from my GT-I9300 using xda premium

Hi~
Thanks for your method, I can deodex SMemo.apk, now.
Do you know how to deodex SlideShow.apk?
I got this error message as below
Code:
Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Code.Analysis.ClassPath$ClassNotFoundException: Could not find superclass Lcom/sec/android/gallery3d/app/AbstractGalleryActivity;
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.loadSuperclass(ClassPath.java:830)
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.<init>(ClassPath.java:683)
at org.jf.dexlib.Code.Analysis.ClassPath.loadClassDef(ClassPath.java:280)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:163)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPathFromOdex(ClassPath.java:110)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:104)
at org.jf.baksmali.main.main(main.java:293)
Error while loading class Lcom/sec/android/gallery3d/util/KeyBoardManager; from file ./system/app/SlideShow.odex
Error while loading ClassPath class Lcom/sec/android/gallery3d/util/KeyBoardManager;

Yes.. take the secGallery2.apk from the app folder and change it to .jar
Then stick it in the framework folder snd use it to deodex slideShow.apk
Dont forget to delete it before flashing!
Sent from my GT-I9300 using xda premium

mike1986. said:
hm still the same
Code:
Error while disassembling method Lcom/diotek/gdocs/util/GDocsSync$1;->run()V. Continuing.
org.jf.dexlib.Code.Analysis.ValidationException: Could not resolve the field in class Lcom/diotek/gdocs/util/GDocsSync; at offset 120
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:1084)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:213)
at org.jf.baksmali.Adaptors.MethodDefinition.addAnalyzedInstructionMethodItems(MethodDefinition.java:379)
at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.java:132)
at org.jf.baksmali.Adaptors.ClassDefinition.writeMethods(ClassDefinition.java:338)
at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java:117)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:205)
at org.jf.baksmali.main.main(main.java:297)
opcode: iput-quick
CodeAddress: 3
Method: Lcom/diotek/gdocs/util/GDocsSync$1;->run()V
What version of smali/baksmali are u using?
Click to expand...
Click to collapse
It's working here with the kitchen 1.9.6, thanks firefds.

firefds said:
Bak/smali 1.3.2
Dont forget to add the -a 15 tag
Sent from my GT-I9300 using xda premium
Click to expand...
Click to collapse
1.3.3 >^^<
http://forum.xda-developers.com/showpost.php?p=26007283&postcount=1

I have a problem... how to solve?
Code:
All ODEX files:
(1) ./system/app/SlideShow.odex
(2) ./system/app/SMemo.odex
Enter file number (0 = cancel): 2
Enter any JAR file dependencies separated by colon (Enter=none).
NOTE: To ignore errors, type 'ignore' by itself or after dependencies
./system/app/SMemo.odex > smemo.jar servlet.jar
Disassembling ./system/app/SMemo.odex ...
java -Xmx512m -jar baksmali.jar -a 15 -d system/framework -x ./system/app/SMemo.odex
Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Code.Analysis.ClassPath$ClassNotFoundException: Could not find superclass Lcom/sec/android/framework/draw/Stage;
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.loadSuperclass(ClassPath.java:830)
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.<init>(ClassPath.java:683)
at org.jf.dexlib.Code.Analysis.ClassPath.loadClassDef(ClassPath.java:280)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:163)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPathFromOdex(ClassPath.java:110)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:104)
at org.jf.baksmali.main.main(main.java:293)
Error while loading class Lcom/diotek/diodraw/Stage; from file ./system/app/SMemo.odex
Error while loading ClassPath class Lcom/diotek/diodraw/Stage;
Try ./system/app/SMemo.odex again (y/n)? (default: y):

roxdragon said:
I have a problem... how to solve?
Code:
All ODEX files:
(1) ./system/app/SlideShow.odex
(2) ./system/app/SMemo.odex
Enter file number (0 = cancel): 2
Enter any JAR file dependencies separated by colon (Enter=none).
NOTE: To ignore errors, type 'ignore' by itself or after dependencies
./system/app/SMemo.odex > smemo.jar servlet.jar
Disassembling ./system/app/SMemo.odex ...
java -Xmx512m -jar baksmali.jar -a 15 -d system/framework -x ./system/app/SMemo.odex
Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Code.Analysis.ClassPath$ClassNotFoundException: Could not find superclass Lcom/sec/android/framework/draw/Stage;
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.loadSuperclass(ClassPath.java:830)
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.<init>(ClassPath.java:683)
at org.jf.dexlib.Code.Analysis.ClassPath.loadClassDef(ClassPath.java:280)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:163)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPathFromOdex(ClassPath.java:110)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:104)
at org.jf.baksmali.main.main(main.java:293)
Error while loading class Lcom/diotek/diodraw/Stage; from file ./system/app/SMemo.odex
Error while loading ClassPath class Lcom/diotek/diodraw/Stage;
Try ./system/app/SMemo.odex again (y/n)? (default: y):
Click to expand...
Click to collapse
Put your 2 jar files on /framework and try with option "a" (deodex app folder).

Solved thank youuuuu!
I must remove files / dependences?
firefds said:
Dont forget to delete it before flashing!
Sent from my GT-I9300 using xda premium
Click to expand...
Click to collapse
1. Into /system/app i have SecGallery2.jar ...rename it SecGallery2.apk?
2. I need delete "servlet" and "SecGallery2.jar" into /system/framework before flashing?
Thank you!

Anyone have a working deodexed SMemo they can put up a download for? I removed my originals from the phone and the odexed ones aren't working as it just FCs every time. All other apps are working great when I restore in system/apps

ok,solve problems,thanks
all framework add,it‘s do it,thanks!

I would also like a download link if possible? this is all to much for me to do myself, im ok rooting, modding framework & system apps but i cant get my head round things like this? If anyone gets this working please send me a Private Message with the link please? Would really like this too

I pulled SMemo app & SMemo Provider apks from the DragonICS Rebirth rom & added it to my rom & I now have SMemo, also pulled Voice Recorder too :0)
Sent via my pimped out Samsung Galaxy S III using Tapatalk

I am tired and I need help...what am I doing wrong>??
the command where I need to deodex the .odex file, it NEVER makes the damn 'out' folder...
it spits out some weird help menu..
-a, --api level
-b,-- no-debug-info
this sort of ****...plz someone help me..
this is neither an error, nor is it a solution...i dont know what to Google also?

This would be amazing if it got done. Keep up the great work guys

This method is not needrd anymore.. just use baksmali/smali 1.3.3. No need for extra files
Sent from my GT-I9300 using xda premium

Related

how do you open and edit classes.dex?

I can not open classes.dex for the life of me. I have tried multiple ways with different commands and such and still can not get it to open.
I have found this method to get me the farthest but still no go on opening it. every time I enter the command
java -jar baksmali.jar -o classout/ classes.dex
Click to expand...
Click to collapse
I get "Unable to access jarfile baksmaili.jar"
Thanks to anyone who is willing to help.
Download AvaboxV2 and unzip the folder. Inside there are tools for editing and such, namely the "Smali" folder which is hopefully what you are looking for.
kyouko said:
Download AvaboxV2 and unzip the folder. Inside there are tools for editing and such, namely the "Smali" folder which is hopefully what you are looking for.
Click to expand...
Click to collapse
I tried that. It will only do apks... I need to to do it to a .dex or a .jar
okay now I see the folder C:\Users\Devin\Documents\AvaboxV2\Smali\baksmali
but still I will need the command prompt and I will be in the same trouble i am in now.
Put the classes.dex file in the \smali\baksmali folder. then navigate to that folder in command prompt:
Code:
cd\
cd C:\Users\Devin\Documents\AvaboxV2\Smali\baksmali
java -jar baksmali-1.1.jar -o classout/ classes.dex
*that should create a folder called "classout" in \baksmali with the smali files*
Then make your edits to the .smali files using notepad++ or w/e
To close up the classout folder and put it back into a classes.dex enter this in cmd:
Code:
java -jar smali-1.1.jar classout -o classes.dex
Edit: fixed file name mix-up
kyouko said:
Put the classes.dex file in the \smali\baksmali folder. then navigate to that folder in command prompt:
Then make your edits to the .smali files using notepad++ or w/e
To close up the classout folder and put it back into a classes.dex enter this in cmd:
Code:
java -jar smali-1.2.1.jar classout -o classes.dex
Click to expand...
Click to collapse
dude no matter what I type cmd will NOT go to that folder. "Folder not found" or some ****.
I can NOT wait till iPhone 4 comes out android is total ****.
got it to go to teh folder in cmd but like I said i get the stupid ass unable to access jarfile baksmali.jar
When baksmali.jar is clearly in the freaking folder.
Is there not an easier way to do this?
Ooohhh shii- lol I'm a dumbass
Haha it should be baksmali-1.1.jar and smali-1.1.jar
I just edited my previous post to fix that mixup
I even pasted strait from yours.. it does not work man. I give up android is gay
Never mind thank you so much man.. I was just getting pissed off because I have been trying this for so long. Thanks for the help.
Funny thing is, you think you'll be able to mod I phone easier? Ha!
-------------------------------------
Sent via the XDA Tapatalk App
roflcopter
danaff37 said:
Funny thing is, you think you'll be able to mod I phone easier? Ha!
-------------------------------------
Sent via the XDA Tapatalk App
Click to expand...
Click to collapse
..Thumbs up
Srsly..its not difficult to mod android and its apps/framework(/resources)...at all. Only 2 real vars: setup and level of incompetence
not related->Getting a mac soon, mostly everything is windows compatible (80% of market/business/etc), mac not so much...parallel+windows 7 good idea?
kthxbai
I run a dual boot between ubuntu and windows 7 for work
Sent from my HERO200 using XDA App
Anyone have a clue why i get this error?
Smali\baksmali>java -jar framework.jar
-o classout/ classes.dex
Failed to load Main-Class manifest attribute from
framework.jar
This prog hero specific?
Thanks'
hellmonger said:
Anyone have a clue why i get this error?
Smali\baksmali>java -jar framework.jar
-o classout/ classes.dex
Failed to load Main-Class manifest attribute from
framework.jar
This prog hero specific?
Click to expand...
Click to collapse
it not hero specific > link
framework.jar doesn't have the "Main-class" header which is why you're getting that error.
it should be
Code:
java -jar baksmali.jar -o classout/ classes.dex
NOT
Code:
java -jar [COLOR="red"]framwork[/COLOR].jar -o classout/ classes.dex
java -jar is used to run the baksmali and smali.jar "applications"
can this be done in window? cygwin? I have tried to call baksmali for a classes.dex also and having no luck. any insight?
thank
thanksssssss
this app, everytime i start it, i have to press OK button (that annoying) but it work. see what can we do with it:
- i try to extract the classes.dex file, (using winrar)
- edit some code (to remove the dialog appear when it start),
- compress the code back .dex file
- put the .dex into .apk file
- install on the phone fail
can anyone give me suggestion or please do something..
khanhj said:
this app, everytime i start it, i have to press OK button (that annoying) but it work. see what can we do with it:
- i try to extract the classes.dex file, (using winrar)
- edit some code (to remove the dialog appear when it start),
- compress the code back .dex file
- put the .dex into .apk file
- install on the phone fail
can anyone give me suggestion or please do something..
Click to expand...
Click to collapse
Why you have attached a warez spy app?
Can anyone tell why I get this error?
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: bad magic value: 64 65 79 0a 30 33 36 00
at org.jf.dexlib.DexFile.<init>(DexFile.java:359)
at org.jf.baksmali.main.main(main.java:176)
Using Win7. I've always just thrown all editing files in Android/SMALI folder.
Hold Shift, Right Click "Open Command Window Here".
Then for compressing/decompressing the commands I use are.
java -jar baksmali.jar -o classout/ classes.dex
java -Xmx512M -jar smali.jar classout -o classes.dex
Haven't run into any issues yet. I noticed no one has put the "-Xmx512M" in their code.
I hope this helps.

Decompile android.policy.odex

Hello,
has someone successfully decompiled the android.policy.odex? I tried to include the extended Power Menu into the KJ4 Firmware, but deodexed decompiling did not work.
Any hints?
Code:
./baksmali android.policy.odex -x
Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Code.Analysis.ClassPath$ClassNotFoundException: Could not find superclass Ljunit/framework/TestCase;
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.loadSuperclass(ClassPath.java:788)
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.<init>(ClassPath.java:676)
at org.jf.dexlib.Code.Analysis.ClassPath.loadClassDef(ClassPath.java:280)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:163)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPathFromOdex(ClassPath.java:110)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:104)
at org.jf.baksmali.main.main(main.java:282)
Error while loading class Landroid/test/AndroidTestCase; from file ./framework.zip
Error while loading ClassPath class Landroid/test/AndroidTestCase;
I'm getting a similar thing, trying to add items to the power menu, just can't seem to do it. Have you got any closer?
Sent from my GT-N7000 using Tapatalk
Meanwhile I have deodexed ROMs, KJ4 and KJA. Decompiling the android.policy.jar is no issue if the ROM is deodexed. Tonight I will upload the KJ8 ROM (KJ4 is already available here in the Forum).
Unfortunately the extended Power Menu doesn't work so far. I have tried to adapt SGS2 Howtos. But I was not successfull. There are some differences between SGS2 and Note, which I was not able to recover. I'm getting an "Array Index out of Bounds" Exception in the logcat as soon as I'm trying to call the Power Menu.
try java -jar baksmali.jar -c :core-junit.odex -d C:\framework -x android.policy.odex
put the core-junit.odex into the same folder with baksmali

[HELP] 'Java' is not recognized...

Hi everyone, I was trying to edit an apk file (it's the first time I try) and when I try to decompile classes.dex with dex2jar the console says "java is not recognized as an internal or external command"... I tried to set new PATH and CLASSPATH with the value as the address where's located java.exe and it still doesn't work..
Anyone can help me?
EDIT: New issue when I try do decompile a classes.dex file: "Error: Could not find or load main class com.googlecode.dex2jar.v3.Main"... I'm being mad with these errors...
Anyone can help me with this?
smoza said:
Hi everyone, I was trying to edit an apk file (it's the first time I try) and when I try to decompile classes.dex with dex2jar the console says "java is not recognized as an internal or external command"... I tried to set new PATH and CLASSPATH with the value as the address where's located java.exe and it still doesn't work..
Anyone can help me?
EDIT: New issue when I try do decompile a classes.dex file: "Error: Could not find or load main class com.googlecode.dex2jar.v3.Main"... I'm being mad with these errors...
Anyone can help me with this?
Click to expand...
Click to collapse
This is likely obvious, but do you have Java installed?
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Fixed: I set the enviroment paths in the wrong way :laugh:

[Guide][Miui V5] How to Edit framework-miui-res.apk and Related Applications

Hi, it seems some dear users have problems with Miui V5 framework and miui's applications decompiling proccess.
let's begin!
for this job, Im editing the APK Multitool, and all credits will goes to his developer. [raziel23x]
original thread
what's new on this?
changed the aapt to miui compatible, added miui frameworks to default list, added additional frameworks, also you can pull back the files from the phone via adb command.
i wrote it before, original thread
-------------------------------------------------------------------------------------------------------------------------------------------------------------
for version 11.0.1.2 and older!
Download the Attached file.
extract it.
copy these files
Code:
framework-res.apk
framework-miui-res.apk
twframework-res.apk
MiuiSystemUI.apk
from Miui Rom into other folder.
run, Setup.bat script.
Select option 2:
Code:
*
* 2. Installing Framework-Res
* This Will install one of the Framwork-Res Files for 1.x/2.x/3.x/4.x
* This Feature also will install any of the other Dependencies needed
* In order to use this feature make sure to drop all of the needed files
* into the other Folder or else this script will not find them *
*
in next window, install these frameworks by entering related numbers. install it as this order and sequence
Code:
Install framework-res.apk
Install twframework-res.apk
Install Additional Frameworks
Install framework-miui-res.apk
Install MiuiSystemUI.apk
after installing, enter the "9" to get back to main screen.
run setup by entering "3".
Code:
3. Setup Directories
This will setup the appropate directories needed by Apk Multi-Tools
(This script only needs to be ran for first time users do not use if your
Just updating from previous Version
now new folders will create on main folder of this apk multi tool.
Framework's Description
- 1 = framework-res.apk
- 2 = twframework-res.apk
- 3 = additional frameworks
- 4 = additional frameworks
- 5 = additional frameworks
- 6 = framework-miui-res.apk
- 127 = SystemUI.apk​
Version 1.11.0.3 XIAOMI Phones.
1- Download Version 1.0.11.3 [[XIAOMI]MIUI_V5_APKMULTITOOL_1.0.11.3.zip] and extract it.
2- Copy MiuiSystemUI.apk, framework-res.apk and framework-miui-res.apk from your rom or phone into other folder.
3- Run Setup.bat file, choose option 2 and then select option 1 for automatically installing all frameworks.
or you can install frameworks manually
Code:
2. Install framework-res.apk
3. Install dummy frameworks
4. Install framework-miui-res.apk
4- from main menu, run option 3
Code:
3. Setup Directories
This will setup the appropate directories needed by Apk Multi-Tools
(This script only needs to be ran for first time users do not use if your
Just updating from previous Version)
best regards.
How to Edit framework-miui-res.apk?
copy framework-miui-res.apk into "place-apk-here-for-modding" folder, run "Script.bat" file.
choose your project , by entering the " 24 Set current project" [24].
the select your project with related number.
decompile apk.
Code:
9 Decompile apk
when the framework-miui-res.apk get decompiled, goto project folder and on the framework-miui-res.apk , open the "apktool.yml" file via notepadd++.
you will see like this one:
Code:
version: 1.5.2
apkFileName: framework-miui-res.apk
isFrameworkApk: true
usesFramework:
ids:
- 1
sdkInfo:
minSdkVersion: '16'
targetSdkVersion: '16'
packageInfo:
cur_package: miui
orig_package: miui
compressionType: true
add additional frameworks , just like below one
Code:
version: 1.5.2
apkFileName: framework-miui-res.apk
isFrameworkApk: true
usesFramework:
ids:
- 1
- 2
- 3
- 4
- 5
sdkInfo:
minSdkVersion: '16'
targetSdkVersion: '16'
packageInfo:
cur_package: miui
orig_package: miui
compressionType: true
save the file.
now go and edit this file, at final you can compile it.
for compile you can use "11 Compile System APK files" option.​
if you have any problem, please upload the "APK-Multi-Tool.log" file and tell your problem.
Changelog:
version 1.0.11.1 initial release
version 1.0.11.2 , fixed framework installing.
Version 1.0.11.3 , specially for XIAOMI phones and updated apktool to version 1.5.3 snapshot.
+ fixed and removed some scripts
+ all in one framework installer [ option 1]
+ added miui JB frameworks [ ID 2 ~ ID5]
​
M_J_Nazari said:
if you have any problem, please upload the "APK-Multi-Tool.log" file and tell your problem.
Click to expand...
Click to collapse
Thank you Nazari!
I dont know if this script is only meant to work with SGS III files...
I followed your instructions using MI-2 files (without twframework-res.apk of course).
And after de-compiling the apk I can't compile it back.
I'm getting:
error occurred, please check the log (option 21)
Click to expand...
Click to collapse
Btw I notice that inside the apktool.yml
I got
compressiontype: false
Click to expand...
Click to collapse
This is my log:
--------------------------------------------------------------------------
|Sun 06/02/2013 -- 17:55:49.16|
--------------------------------------------------------------------------
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) Client VM (build 23.21-b01, mixed mode, sharing)
I: Loading resource table...
I: Loaded.
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\Sagi\apktool\framework\1.apk
I: Loaded.
I: Regular manifest package...
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...
Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.err.CantFindFrameworkResException
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:358)
at brut.androlib.Androlib.buildResources(Androlib.java:283)
at brut.androlib.Androlib.build(Androlib.java:206)
at brut.androlib.Androlib.build(Androlib.java:176)
at brut.apktool.Main.cmdBuild(Main.java:228)
at brut.apktool.Main.main(Main.java:79)
Caused by: brut.androlib.err.CantFindFrameworkResException
at brut.androlib.res.AndrolibResources.getFrameworkApk(AndrolibResources.java:544)
at brut.androlib.Androlib.parseUsesFramework(Androlib.java:508)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:336)
... 5 more
Click to expand...
Click to collapse
I'm guessing it is because of the 'twframework-res.apk' which i dont have...(MI-2 not Samsung).
SagiMedina said:
Thank you Nazari!
I dont know if this script is only meant to work with SGS III files...
I followed your instructions using MI-2 files (without twframework-res.apk of course).
And after de-compiling the apk I can't compile it back.
I'm getting:
Btw I notice that inside the apktool.yml
I got
This is my log:
I'm guessing it is because of the 'twframework-res.apk' which i dont have...(MI-2 not Samsung).
Click to expand...
Click to collapse
W: Could not find sources
so, don't change the "apktool.yml" file and then compile it. see the result. maybe your phone doesn't boot!!
oh,,, i forget to add framework 5 to package, download it and copy to "C:\Users\Sagi\apktool\framework\" folder. i will update the package as soon.
or you can use new package, i added new description and new fixed version.
M_J_Nazari said:
W: Could not find sources
so, don't change the "apktool.yml" file and then compile it. see the result. maybe your phone doesn't boot!!
oh,,, i forget to add framework 5 to package, download it and copy to "C:\Users\Sagi\apktool\framework\" folder. i will update the package as soon.
or you can use new package, i added new description and new fixed version.
Click to expand...
Click to collapse
After I used the new package I succeed to compile it back but the phone doesn't boot.
In apktool.yml I add only
-1
-3
-4
-5
-2 and -6 gave me errors.
I noticed that the new apk size is smaller then the original.
Sent from my MI 2
SagiMedina said:
After I used the new package I succeed to compile it back but the phone doesn't boot.
In apktool.yml I add only
-1
-3
-4
-5
-2 and -6 gave me errors.
I noticed that the new apk size is smaller then the original.
Sent from my MI 2
Click to expand...
Click to collapse
do a search into framework folder, if there is another apk file, i think you need to install this framework. i don't know about the xiaomi phones like mi2 or another.
and, are you sure that you did all steps perfectly?
could you please tell us what did you exactly for compiling process? i mean after entering option "11".
M_J_Nazari said:
and, are you sure that you did all steps perfectly?
could you please tell us what did you exactly for compiling process? i mean after entering option "11".
Click to expand...
Click to collapse
I followed the steps as you wrote except with the twframework, then I edit the apktool.yml
But instead of adding:
-1 to -6
I only add
-1, -3,-4,-5
I edit the style following your guide,
Then I compiled back by entering option 11, copied the 'unsignedframework-miui-res.apk' to my phone and renamed it to 'framework-miui-res.apk' and past it in system/framework. The phone rebooted but got stuck after the bootanimation.
Sent from my MI 2
SagiMedina said:
I followed the steps as you wrote except with the twframework, then I edit the apktool.yml
But instead of adding:
-1 to -6
I only add
-1, -3,-4,-5
I edit the style following your guide,
Then I compiled back by entering option 11, copied the 'unsignedframework-miui-res.apk' to my phone and renamed it to 'framework-miui-res.apk' and past it in system/framework. The phone rebooted but got stuck after the bootanimation.
Sent from my MI 2
Click to expand...
Click to collapse
what's about the keep folder?
M_J_Nazari said:
what's about the keep folder?
Click to expand...
Click to collapse
What is the keep folder?
Sent from my MI 2
SagiMedina said:
What is the keep folder?
Sent from my MI 2
Click to expand...
Click to collapse
ok, i think it is need to know how to work with apk multi tool.
1- decompie
2- edit your framework
3- enter option 11 to compile
4- programs will ask you about the modification , just like this:
Code:
Building Apk
Aside from the signatures, would you like to copy
over any additional files that you didn't modify
from the original apk in order to ensure least
# of errors (y/n)
Type input:
5- enter " y ' and then press enter.
6- wait for programs, to show you this message
Code:
Everything is Ok
Files: x
Size: xxxxx
Compressed: xxxxx
In the APK Multi-Tools folder u'll find
a keep folder. Within it, delete
everything you have modified and leave
files that you haven't. IF you have modified
any xml, then delete resources.arsc from that
folder as well. Once done then press enter
on this script.
Press any key to continue . . .
7- don't touch anything, minimize Apk Multitool program window ,
8-Go back to the main folder of apk multi tool , you will find the "keep" folder.
goto keep folder and delete thisfile "resources.arsc"
9- get back to Apk Multitool program and hit any key to create a new framework-miui-res.apk file with this name
"unsignedframework-miui-res.apk" file.
10- rename it and copy to your phone, do a permission
you can do it via root Explorer
or terminal command
Code:
chmod 0644 /system/framework/framewok-miui-res.apk
or adb commnad
Code:
adb shell chmod 0644 /system/framework/framewok-miui-res.apk
M_J_Nazari said:
...
Click to expand...
Click to collapse
Still no luck Nazari, did everything like you said...
I cant get pass the boot animation once i replace the framework,
why is the new apk is smaller? is it normal?
SagiMedina said:
Still no luck Nazari, did everything like you said...
I cant get pass the boot animation once i replace the framework,
why is the new apk is smaller? is it normal?
Click to expand...
Click to collapse
its normal, you can select compression level by hitting option "21".
but upload your framework-miui-res.apk here to check it and i will make changes to that.
M_J_Nazari said:
its normal, you can select compression level by hitting option "21".
but upload your framework-miui-res.apk here to check it and i will make changes to that.
Click to expand...
Click to collapse
Thanks Nazari!!!
SagiMedina said:
Thanks Nazari!!!
Click to expand...
Click to collapse
it seems xiaomi uses different framework and aapt version, you need to ask them.
M_J_Nazari said:
it seems xiaomi uses different framework and aapt version, you need to ask them.
Click to expand...
Click to collapse
If ill get these different framework and aapt version, I only need to replace them with the those in the 'other' folder?
Guys, you don't have a clue what that other frameworks are for, do you? You can't miss nr 1 or 6 or 2 framework in apktool.yml because that will never work! Apktool.yml is fine and should look like in the first post.
I think your main issue is that you don't know frameworks IDs?
This:
Code:
1. Install framework-miui-res.apk
2. Install framework-res.apk
3. Install twframework-res.apk
6. Install MiuiSystemUI.apk
7. Install Additional Frameworks
Is wrong!
How to tell what ID framework has?
Run this command:
Code:
apktool if framework-miui-res.apk
You will get:
Code:
I: Framework installed to: /home/acid/apktool/framework/6.apk
So framework-miui-res.apk is ID = 6.
Try to install regular framework-res.apk. You will get ID = 1.
To complete the gap between ID1 and ID6 you have to install proper frameworks. AND MiuiSystemUi is NOT a framework! Thats nonsense!
ID is 127 which is out of range.
You have to install framework files that have proper ID from 1 to 6.
ID1:
framework-res.apk
ID2:
frameworks from producer base. So this is twframework-res for Samsung devices, com.htc.resources.apk for HTC, SemcGenericUxpRes.apk for Sony... etc. That doesnt really matter. ID2 frameworks are used when you recompile stock apps like Samsung TW apps or HTC apps (HTCAlbum, Music etc). If you just want to recompile framework-miui-res and boot rom then you can use any ID2 framework or just a dummy file.
ID3:
This is com.htc.dummyskin.apk. Just search for it. You can find it in HTC One roms (One X and One S). Search in MIUI roms for that devices (but with stock HTC based MIUI!). Or grab the file from micode.
ID4:
This is framework-htc-res.apk. Again. search for it. Also HTC roms should have this or grab dummy framework from micode.
ID5:
From micode.
ID6:
framework-miui-res.apk
Dummy frameworks from MiCode:
https://github.com/MiCode/patchrom_build/tree/jellybean/res
You can use 3-5.apk to fill the gap. But still I advice you to use proper ID2 frameworks in case you would like to compile stock apps.
And for last install frameworks in order:
Code:
apktool if framework-res.apk
apktool if twframework-res.apk (or htc or dummy)
apktool if 3.apk
apktool if 4.apk
apktool if 5.apk
apktool if framework-miui-res.apk
That should allow you to boot the rom. Also make sure you have miui aapt and apktool 1.5.3.
thanks a lot @ Accidd for very good explanation.
i worte it for samsung devices, and it seems its fine. this script will install frameworks automatically.
but for other devices i will update the application again, so if we want to compile Xiaomi frameworks , we need to use dummy framework for ID number 2?
It doesn't matter which device you do. You always have to install all frameworks.
Wysłane z MI-2
M_J_Nazari said:
i will update the application again,
Click to expand...
Click to collapse
Thanks Nazari!
And thank you Acid for clearing things!
Sent from my MI 2
Version 1.0.11.3 added to first post to compile Xiaomi phones frameworks.

[Q] How to trouble shoot BOOT CLASS PATH Error during Deodexing?

I tried to deodex my Xperia SP .284 Stock ROM using xUltimate 2.4
First of all Norton Antivirus wont let me do it. It deleted the file opt_apk.exe saying it is Malware. Is it safe? any one with problem with this file?
However with Norton disabled, i pulled apps and framework but xUltimate shows BOOTCLASS PATH Error
Starting ApplicationsProvider.odex
*****************************************
* Deodexing... *
Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Code.Analysis.ClassPath$ClassNotFoundException: Could not find int
erface Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.loadAllImplementedInterfaces(ClassPath.java:865)
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.<init>(ClassPath.java:690)
at org.jf.dexlib.Code.Analysis.ClassPath.loadClassDef(ClassPath.java:280)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:163)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPath(ClassPath.java:131)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:111)
at org.jf.baksmali.main.main(main.java:293)
Error while loading class Lcom/android/internal/policy/impl/LockScreen$GlowPadViewMethods; from file .\origi_frame\android.policy.zip
Error while loading ClassPath class Lcom/android/internal/policy/impl/LockScreen$GlowPadViewMethods;
Press any key to continue . . .
Please help
shubham.12 said:
I tried to deodex my Xperia SP .284 Stock ROM using xUltimate 2.4
First of all Norton Antivirus wont let me do it. It deleted the file opt_apk.exe saying it is Malware. Is it safe? any one with problem with this file?
However with Norton disabled, i pulled apps and framework but xUltimate shows BOOTCLASS PATH Error
Starting ApplicationsProvider.odex
*****************************************
* Deodexing... *
Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Code.Analysis.ClassPath$ClassNotFoundException: Could not find int
erface Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.loadAllImplementedInterfaces(ClassPath.java:865)
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.<init>(ClassPath.java:690)
at org.jf.dexlib.Code.Analysis.ClassPath.loadClassDef(ClassPath.java:280)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:163)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPath(ClassPath.java:131)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:111)
at org.jf.baksmali.main.main(main.java:293)
Error while loading class Lcom/android/internal/policy/impl/LockScreen$GlowPadViewMethods; from file .\origi_frame\android.policy.zip
Error while loading ClassPath class Lcom/android/internal/policy/impl/LockScreen$GlowPadViewMethods;
Press any key to continue . . .
Please help
Click to expand...
Click to collapse
Download or install xUltimate again and disable the anti virus before you run it. Don't worry about viruses from Android relates tools.
The reason you get that error is because of the file you deleted. That file is the one which packs the .dex file into the apk file. Hence why the process is called deodexing.
Good luck. :good:
gadgetroid said:
Download or install xUltimate again and disable the anti virus before you run it. Don't worry about viruses from Android relates tools.
The reason you get that error is because of the file you deleted. That file is the one which packs the .dex file into the apk file. Hence why the process is called deodexing.
Good luck. :good:
Click to expand...
Click to collapse
already done bro!
i disbled antivirus re extracted xUltimate still no luck.
shubham.12 said:
already done bro!
i disbled antivirus re extracted xUltimate still no luck.
Click to expand...
Click to collapse
Hi,
If you still haven't managed to sort out that problem, then please give my tool a try - http://forum.xda-developers.com/showthread.php?t=2213235
This error occurs when the framework files are not present and baksmali.jar tries to deodex the apk.
abcdjdj said:
Hi,
If you still haven't managed to sort out that problem, then please give my tool a try - http://forum.xda-developers.com/showthread.php?t=2213235
This error occurs when the framework files are not present and baksmali.jar tries to deodex the apk.
Click to expand...
Click to collapse
ok well i might give your tool a try sometime. thanks already for it
Will you be able to tell me how to include framework files?
shubham.12 said:
ok well i might give your tool a try sometime. thanks already for it
Will you be able to tell me how to include framework files?
Click to expand...
Click to collapse
Well I tried deodexing with xUltimate but I couldn't get it to work. Sorry
I tried copying all framework files to the jar folder, ori_framework too but no luck.

Categories

Resources