Hello all,
For some strange reason, I am getting an exception when decompiling the Settings.apk on my Thunderbolt. I placed com.htc.resources.apk and framework-res.apk in the same directory, ran "apktool if" successfully on both files, and scoured Google for fixes after watching the apktool videos to no avail Any suggestions? This problem always occurs after the "Decoding values" line.
Settings.apk was taken from a rooted Thunderbolt running the latest OTA update and radio. My goal is to modify the AndroidManifest.xml to remove the "Mobile hotspot" option, then recompiling the darn thing.
Thanks in advance!
C:\Apktool>apktool d Settings.apk
I: Baksmaling...
testI: Loading resource table...
W: Skipping "android" package group
I: Loaded.
I: Loading resource table from file: C:\Users\crafty\apktool\framework\1.apk
I: Loaded.
I: Loading resource table from file: C:\Users\crafty\apktool\framework\2.apk
I: Loaded.
I: Decoding file-resources...
I: Decoding values*/* XMLs...
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String ind
ex out of range: 21
at java.lang.String.charAt(String.java:686)
at brut.androlib.res.xml.ResXmlEncoders.findNonPositionalSubstitutions(R
esXmlEncoders.java:165)
at brut.androlib.res.xml.ResXmlEncoders.enumerateNonPositionalSubstituti
ons(ResXmlEncoders.java:142)
at brut.androlib.res.data.value.ResStringValue.encodeAsResXmlValue(ResSt
ringValue.java:45)
at brut.androlib.res.data.value.ResArrayValue.serializeToResValuesXml(Re
sArrayValue.java:55)
at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResour
ces.java:264)
at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:137
)
at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:93)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:98)
at brut.apktool.Main.cmdDecode(Main.java:120)
at brut.apktool.Main.main(Main.java:57)
The java error you are getting appears to be because its decoding from * to * which is infinite but it appears that in reality, the method only contains 0-20 so when it reaches 21, you are out of bounds because no data exists there. Im not sure if that section of code is even changeable though without modifying the actual program. Its odd though because * is supposed to only include all the given lines yet its checking beyond those if you are getting the out of bounds error. Not sure on a fix to this.
Did you try APK manager 5.0.2? I had issues on 4.9 lastest version fixed for me
Sent from my Thunderbolt using Tapatalk
nolimitzr2 said:
Did you try APK manager 5.0.2? I had issues on 4.9 lastest version fixed for me
Sent from my Thunderbolt using Tapatalk
Click to expand...
Click to collapse
apkmanger is just a wrapper for apktool.
Hi all!
I was trying to make some changes in Settings.apk from my Elephone P8, a mt6592 device with kitkat (4.4.2), when I had a problem: it's impossible to decompile/recompile this apk!!
Here, you can see a log of simple decompile-compile action, with no changes in any file
Code:
[[email protected] ~]$ cd apktool/
[[email protected] apktool]$ ./apktool if framework-res.apk
I: Framework installed to: /home/javi/apktool/framework/1.apk
[[email protected] apktool]$ ./apktool if SystemUI.apk
I: Framework installed to: /home/javi/apktool/framework/127.apk
[[email protected] apktool]$ ./apktool d Settings.apk
I: Using Apktool 2.0.0-RC2 on Settings.apk
I: Loading resource table...
W: Skipping "android" package group
I: Loading resource table...
W: Skipping "android" package group
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /home/javi/apktool/framework/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
[[email protected] apktool]$ ./apktool b Settings.apk
I: Using Apktool 2.0.0-RC2 on Settings.apk
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathNotExist: apktool.yml
at brut.androlib.Androlib.readMetaFile(Androlib.java:247)
at brut.androlib.Androlib.build(Androlib.java:266)
at brut.androlib.Androlib.build(Androlib.java:258)
at brut.apktool.Main.cmdBuild(Main.java:240)
at brut.apktool.Main.main(Main.java:89)
Caused by: brut.directory.PathNotExist: apktool.yml
at brut.directory.AbstractDirectory.getFileInput(AbstractDirectory.java:103)
at brut.androlib.Androlib.readMetaFile(Androlib.java:243)
... 4 more
[[email protected] apktool]$
What i've tried:
- Installing dependencies from: mediatek-res.apk, Systemui.apk, Settings.apk, ext.jar, etc... nothing worked ;/
- Using another tools as apk multitool, advanced apk tool, etc... not working also
- Copying original resources.asrc and classes.dex from original Settings.apk to Settings folder after decompiled. This compile Settings apk, but no encoded, so it's unuseful
- Ussing differente enviroments: BBQ linux, Ubuntu, Windows 8.1... Not working in any of them
I'v tried to do the same with another mt6952 device, the BQ Aquaris E5 FHD with similar results... so it's a mediatek kitkat common problem.
Can you help me, guys????? Any idea what can I try next??
johnnybra said:
Hi all!
I was trying to make some changes in Settings.apk from my Elephone P8, a mt6592 device with kitkat (4.4.2), when I had a problem: it's impossible to decompile/recompile this apk!!
Here, you can see a log of simple decompile-compile action, with no changes in any file
Code:
[[email protected] ~]$ cd apktool/
[[email protected] apktool]$ ./apktool if framework-res.apk
I: Framework installed to: /home/javi/apktool/framework/1.apk
[[email protected] apktool]$ ./apktool if SystemUI.apk
I: Framework installed to: /home/javi/apktool/framework/127.apk
[[email protected] apktool]$ ./apktool d Settings.apk
I: Using Apktool 2.0.0-RC2 on Settings.apk
I: Loading resource table...
W: Skipping "android" package group
I: Loading resource table...
W: Skipping "android" package group
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /home/javi/apktool/framework/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
[[email protected] apktool]$ ./apktool b Settings.apk
I: Using Apktool 2.0.0-RC2 on Settings.apk
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathNotExist: apktool.yml
at brut.androlib.Androlib.readMetaFile(Androlib.java:247)
at brut.androlib.Androlib.build(Androlib.java:266)
at brut.androlib.Androlib.build(Androlib.java:258)
at brut.apktool.Main.cmdBuild(Main.java:240)
at brut.apktool.Main.main(Main.java:89)
Caused by: brut.directory.PathNotExist: apktool.yml
at brut.directory.AbstractDirectory.getFileInput(AbstractDirectory.java:103)
at brut.androlib.Androlib.readMetaFile(Androlib.java:243)
... 4 more
[[email protected] apktool]$
What i've tried:
- Installing dependencies from: mediatek-res.apk, Systemui.apk, Settings.apk, ext.jar, etc... nothing worked ;/
- Using another tools as apk multitool, advanced apk tool, etc... not working also
- Copying original resources.asrc and classes.dex from original Settings.apk to Settings folder after decompiled. This compile Settings apk, but no encoded, so it's unuseful
- Ussing differente enviroments: BBQ linux, Ubuntu, Windows 8.1... Not working in any of them
I'v tried to do the same with another mt6952 device, the BQ Aquaris E5 FHD with similar results... so it's a mediatek kitkat common problem.
Can you help me, guys????? Any idea what can I try next??
Click to expand...
Click to collapse
Well see that's the issue. As they seldom use official software. You will have to make sure to only use the framework from you device. Make sure to install them all. Also make sure the rom is deodex or you won't be able to decompile anything.
Thank you.
All files are from the same device (elephone p8), extracted and deodexed by me and working well in a ROM.
UPDATE: I succesfullly recompiled settings.apk!!! I installed mediatek-res.apk, but apktool.yml did not use it, so I edited the file including it and ... voilá!
Thank you, friend, without your words it couldn't be possible
johnnybra said:
Thank you.
All files are from the same device (elephone p8), extracted and deodexed by me and working well in a ROM.
UPDATE: I succesfullly recompiled settings.apk!!! I installed mediatek-res.apk, but apktool.yml did not use it, so I edited the file including it and ... voilá!
Thank you, friend, without your words it couldn't be possible
Click to expand...
Click to collapse
Explain exactly how you did it?
marsapa said:
Explain exactly how you did it?
Click to expand...
Click to collapse
Hi, friend. Glad to see you here Your Roms are awesome.
You must decompile settings.apk installing framework-res.apk and mediatek-res.apk first.
Then, before recompiling, you must open apktool.yml and you'll see a line that point to used dependences. Something like "- 1". Simply add after this one a new line with "- 2" if you installed dependences using default mode. Then save the changes and compile in normal way.
johnnybra said:
Hi, friend. Glad to see you here Your Roms are awesome.
You must decompile settings.apk installing framework-res.apk and mediatek-res.apk first.
Then, before recompiling, you must open apktool.yml and you'll see a line that point to used dependences. Something like "- 1". Simply add after this one a new line with "- 2" if you installed dependences using default mode. Then save the changes and compile in normal way.
Click to expand...
Click to collapse
I'm sorry I did not understand, unfortunately I'm arguing with the framework-res.apk of 6595, I published the change that you made so I try the new soc?
marsapa said:
I'm sorry I did not understand, unfortunately I'm arguing with the framework-res.apk of 6595, I published the change that you made so I try the new soc?
Click to expand...
Click to collapse
I'm sorry, I'm with Tapatalk. This afternoon I'll post some screenshots of what I'm saying, OK?
marsapa said:
I'm sorry I did not understand, unfortunately I'm arguing with the framework-res.apk of 6595, I published the change that you made so I try the new soc?
Click to expand...
Click to collapse
ok i have solve, thaks
marsapa said:
ok i have solve, thaks
Click to expand...
Click to collapse
With the soc mediatek 6595 I have a problem installing, decompile and compile the framework-res.apk with apktool v2.0.0RC3 I can not even decompile the framework and have this error: Log For : framework-res.apk
Log Type : Decompiling
Log Recorded At : 09 2014-12- 10:03:34,86
Log Recorded By : Advanced ApkTool v4.1.0 By BDFreak
------------------------------------------------------
Exception in thread "main" brut.androlib.AndrolibException: Multiple resources: spec=0x010e0045 integer/config_mobile_mtu, config=-mcc460
at brut.androlib.res.data.ResConfig.addResource(ResConfig.java:63)
at brut.androlib.res.data.ResConfig.addResource(ResConfig.java:56)
at brut.androlib.res.decoder.ARSCDecoder.readEntry(ARSCDecoder.java:186)
at brut.androlib.res.decoder.ARSCDecoder.readConfig(ARSCDecoder.java:157)
at brut.androlib.res.decoder.ARSCDecoder.readType(ARSCDecoder.java:125)
at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:100)
at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:78)
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:47)
at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:606)
at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:75)
at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:67)
at brut.androlib.Androlib.getResTable(Androlib.java:61)
at brut.androlib.ApkDecoder.setTargetSdkVersion(ApkDecoder.java:206)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:92)
at brut.apktool.Main.cmdDecode(Main.java:165)
at brut.apktool.Main.main(Main.java:81)
while with earlier versions it, but still not what recompile is the log: .
For the rest mediatek.res.apk installing and making the change to apktool.ylm decompilo and recompile all files including settings.apk
Tips?
marsapa said:
With the soc mediatek 6595 I have a problem installing, decompile and compile the framework-res.apk with apktool v2.0.0RC3 I can not even decompile the framework and have this error: Log For : framework-res.apk
Log Type : Decompiling
Log Recorded At : 09 2014-12- 10:03:34,86
Log Recorded By : Advanced ApkTool v4.1.0 By BDFreak
------------------------------------------------------
Exception in thread "main" brut.androlib.AndrolibException: Multiple resources: spec=0x010e0045 integer/config_mobile_mtu, config=-mcc460
at brut.androlib.res.data.ResConfig.addResource(ResConfig.java:63)
at brut.androlib.res.data.ResConfig.addResource(ResConfig.java:56)
at brut.androlib.res.decoder.ARSCDecoder.readEntry(ARSCDecoder.java:186)
at brut.androlib.res.decoder.ARSCDecoder.readConfig(ARSCDecoder.java:157)
at brut.androlib.res.decoder.ARSCDecoder.readType(ARSCDecoder.java:125)
at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:100)
at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:78)
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:47)
at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:606)
at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:75)
at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:67)
at brut.androlib.Androlib.getResTable(Androlib.java:61)
at brut.androlib.ApkDecoder.setTargetSdkVersion(ApkDecoder.java:206)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:92)
at brut.apktool.Main.cmdDecode(Main.java:165)
at brut.apktool.Main.main(Main.java:81)
while with earlier versions it, but still not what recompile is the log: .
For the rest mediatek.res.apk installing and making the change to apktool.ylm decompilo and recompile all files including settings.apk
Tips?
Click to expand...
Click to collapse
Are you trying to decompiling for meizu mx4??? I'll tried it too, but I couldn't find the way to install framework as dependence. Same error as yours.
That's because they use files that differ from stock Android that apk tool is not set to use and the apktool dev already stated he will not add support for it.
Hi,
I try to decompile the frameworks-res.apk of the VIBE 2.5 Rom (Lollipop 5.0) for the Elephone P6000.
The original Rom has now German language and I thought of trying to add it to the Rom.
I used the newest APKTool, but when I try to decompile it, it gives me the following error:
Code:
J:\basteln\apktool>apktool d framework-res.apk
I: Using Apktool 2.0.0 on framework-res.apk
I: Loading resource table...
I: Decoding Shared Library (lenovo), pkgId: 9
I: Decoding AndroidManifest.xml with resources...
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
Can't find framework resources for package of id: 9. You must install proper framework files, see project website for more info.
The framework for frameworks-res is installed via 'apktool if framework-res.apk'.
I know, he looks for another framework, but for which one and how to install it? I can't find anything on the homepage of APKTool about this.
Files are created in the output directory, but I am not able to rebuild the apk after editing the files. Same error occurs.
It seems to be a problem with the Lenovo VIBE Rom. When I decompile the framework-res.apk out of the stock rom for the phone it works without problems.
Any suggestions?? thanks!!
Quick reply to my self:
I finally found the error. I should have looked a little closer into the Rom to get the needed frameworks.
Seems I was just too blind. Have been looking for hours and some minutes after asking the question I find the answer by myself
Hello there,
I've been trying desperately long to change an Android app, but it just does not work. :crying:
This app is SecSettings.apk and is of a Samsung Galaxy S5 Mini Deodexed ROM. Yesterday I still have them easily change decompile and then recompile can (without signing).
I can change the Launcher Icons and a few options successfully.
It has then everything works well on the device.
Then few minutes have passed and I still wanted to make a small change. I was able to successfully recompile the app again. I then got back to system / privapp / SecSettings moved, set the correct permissions, but after restarting the app will not be installed.
I then tried with signing, zipalign and both, but unsuccessfully.
I also have the app again Decompiles and then recompiled without signing again, without making a change, but then I do not know yet had a parsing error on the device, as previously with the app.
I also once again postponed the original app on the device and it works. I then Mr. downloaded ApkTool again, Java JDK and JRE again Mr. downloaded and reinstalled, but also the app and the necessary framework (Framework res.apk and twframework-res.apk) reinstalled. But all without success. Have it with another system app (Seccontacts.apk) tried, but without success.
Before I could even install everything successfully De / Compiling. :crying:
Now also appears from even a (error) when Decompiling on (he has still Successfully De / recompiled).:
Code:
I: Using Apktool 2.0.3 on SecSettings.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\Gregor\apktool\framework\1.apk
I: Regular manifest package...
I: Decoding file-resources...
S: Could not decode file, replacing by FALSE value: drawable-xhdpi-v4/tw_ab_bottom_transparent_dark.holo.9.qmg
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
I do this not for the first time and am already hierdrin know (if I may judge for yourself).
I inquired already on the internet, but found nothing useful about these error.
I can upload the apks, if they are needed.
If my English is not good, then I apologize herewith.
Now I hope someone can help me here.
Best regards,
sonnenklar
[please help]
Nice. Not an answer.
Please answer my Question.
Hi all guys
I read all the guides I found
And I can't find why I got an error
D:\>D:\apktool d -f D:\SecSettings.apk
I: Using Apktool 2.4.1 on SecSettings.apk
I: Loading resource table...
W: Skipping "android" package group
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\office\AppData\Local\apktool\framework\1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files.
D:\>D:\apktool b D:\SecSettings
I: Using Apktool 2.4.1
W: Could not find sources
I: Checking whether resources has changed...
I: Copying raw resources...
I: Building apk file...
I: Copying unknown files/dir...
I: Built apk...
in fact . The app does not work. Even without changing anything.
phone : samsung Young android 4.1.2
app : SecSettings.apk
dvash01 said:
Hi all guys
I read all the guides I found
And I can't find why I got an error
D:\>D:\apktool d -f D:\SecSettings.apk
I: Using Apktool 2.4.1 on SecSettings.apk
I: Loading resource table...
W: Skipping "android" package group
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\office\AppData\Local\apktool\framework\1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files.
D:\>D:\apktool b D:\SecSettings
I: Using Apktool 2.4.1
W: Could not find sources
I: Checking whether resources has changed...
I: Copying raw resources...
I: Building apk file...
I: Copying unknown files/dir...
I: Built apk...
in fact . The app does not work. Even without changing anything.
phone : samsung Young android 4.1.2
app : SecSettings.apk
Click to expand...
Click to collapse
You need to install your framework-res.apk into apktool first.
Code:
apktool if framework-res.apk
Then try to decompile your settings app. After you've made your changes and recompiled the app, open the original apk and your new apk in WinRAR or 7zip, and copy meta-info folder & AndroidManifest.xml from the original apk to your new one. Drag it from one apk to the other, don't extract them at all. This will resign your app with the original system signature. This is usually needed if you're working on system apps or you'll get a bootloop and/or force closes. Hope this helps!
Spaceminer said:
You need to install your framework-res.apk into apktool first.
Code:
apktool if framework-res.apk
Then try to decompile your settings app. After you've made your changes and recompiled the app, open the original apk and your new apk in WinRAR or 7zip, and copy meta-info folder & AndroidManifest.xml from the original apk to your new one. Drag it from one apk to the other, don't extract them at all. This will resign your app with the original system signature. This is usually needed if you're working on system apps or you'll get a bootloop and/or force closes. Hope this helps!
Click to expand...
Click to collapse
Thanks my friend for the answer
I did
And if I do as you say. I get more errors See:
D:\>D:\apktool b D:\SecSettings
I: Using Apktool 2.4.1
W: Could not find sources
[Fatal Error] :1:1: Content is not allowed in prolog.
I: Checking whether resources has changed...
I: Building apk file...
I: Copying unknown files/dir...
I: Built apk...
That's why I also took the resources.arsc file from the original
And so I only get this error
dvash01 said:
You need to install your framework-res.apk into apktool first.
Thanks my friend for the answer
I did
And if I do as you say. I get more errors See:
D:\>D:\apktool b D:\SecSettings
I: Using Apktool 2.4.1
W: Could not find sources
[Fatal Error] :1:1: Content is not allowed in prolog.
I: Checking whether resources has changed...
I: Building apk file...
I: Copying unknown files/dir...
I: Built apk...
That's why I also took the resources.arsc file from the original
And so I only get this error
Click to expand...
Click to collapse
So if I understand you try to decompile and APK and it doesn't work ?
Usually it means that you've made an error modifying your APK.
You already tried to decompile-recompile your APK without modifying anything, but I'll ask you to do it once again, just enter those commands:
apktool d [name of the app].apk
apktool b [name of the app].apk -c
(-c allows to keep the original signature when recompiling)
Tell me if you go an error.
Also, when doing that, don't move any other file in the the decompiled apk, I need to know what happens when the only thing you do is decompile-recompile.
Thanks !
Raiz said:
So if I understand you try to decompile and APK and it doesn't work ?
Usually it means that you've made an error modifying your APK.
You already tried to decompile-recompile your APK without modifying anything, but I'll ask you to do it once again, just enter those commands:
apktool d [name of the app].apk
apktool b [name of the app].apk -c
(-c allows to keep the original signature when recompiling)
Tell me if you go an error.
Also, when doing that, don't move any other file in the the decompiled apk, I need to know what happens when the only thing you do is decompile-recompile.
Thanks !
Click to expand...
Click to collapse
First of all thank you very much for your patience
I tried to disassemble without changing anything
Now I added C as you said
That's what came out
D:\>D:\apktool d -f D:\SecSettings.apk
I: Using Apktool 2.4.1 on SecSettings.apk
I: Loading resource table...
W: Skipping "android" package group
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\משרד\AppData\Local\apktool\framework\1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
D:\>D:\apktool b D:\SecSetting -c
-c/--copy-original has been deprecated. Removal planned for v2.5.0 (#2129)
I: Using Apktool 2.4.1
brut.directory.DirectoryException: java.io.FileNotFoundException: D:\SecSetting (The system cannot find the file specified)
And if I add the two original files,
AndroidManifest.xml resources.arsc
that's what came out
D:\>D:\apktool b D:\SecSettings -c
-c/--copy-original has been deprecated. Removal planned for v2.5.0 (#2129)
I: Using Apktool 2.4.1
W: Could not find sources
I: Checking whether resources has changed...
I: Copying raw resources...
I: Copy original files...
I: Copy AndroidManifest.xml...
I: Copy META-INF...
I: Building apk file...
I: Copying unknown files/dir...
I: Built apk...
But please explain to me
Opening Is Not An Error
W: Skipping "android" package group