sky201503 / android-apktool2

Automatically exported from code.google.com/p/android-apktool
0 stars 0 forks source link

Add support for API level 13 (Android 3.2) resources #195

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. copy framework-res.apk from 3.2 WiFi Xoom to APKtool folder (with updated 
.jar)
2. CMD "apktool if framework-res.apk"
3. Error listed below

What is the expected output? What do you see instead?
I expected: "Framwork installed C:\...".
Instead got: "
W: Config flags size > 32. Exceeding bytes: -2FFE0000.
W: Invalid config flags detected: dimen-v13-ERR0.
W: Config flags size > 32. Exceeding bytes: 00050000.
W: Invalid config flags detected: detected: dimen-v13-ERR1.
W: Config flags size > 32. Exceeding bytes: 0000D002.
W: Invalid config flags detected: detected: dimen-v13-ERR2.
W: Config flags size > 32. Exceeding bytes: 58020000.
W: Invalid config flags detected: layout-v13-ERR3.
W: Config flags size > 32. Exceeding bytes: 2FFE0000.
W: Invalid config flags detected: integer-v13-ERR4.
Framework installed to: C:\...
"

What version of the product are you using? On what operating system?
WinXP with the most recent files as of 7/13/11

Please provide any additional information below.
I can provide screen shots of the errors, as well as the framework-res.apk 
taken from my Xoom if it's needed.

Original issue reported on code.google.com by brian6a...@gmail.com on 13 Jul 2011 at 3:41

GoogleCodeExporter commented 9 years ago
Upload this framework-res.apk, please.

Original comment by Brut.alll on 13 Jul 2011 at 5:07

GoogleCodeExporter commented 9 years ago
I also updated the SDK and tried using the new aapt, still same thing. This is 
from 3.1, would it be because they haven't released an SDK for 3.2 yet? 
Included is a SystemUI.apk from 3.2 also with many errors when trying to 
decompile.

Thanks for taking a look at this!

Original comment by brian6a...@gmail.com on 13 Jul 2011 at 5:30

Attachments:

GoogleCodeExporter commented 9 years ago
There are some new qualifiers introduced in API Level 13. If you look into 
framework-res.apk you'll find layout-sw600dp and layout-w600dp dirs. Even if 
you decode them, you won't be able to build apk back, because we don't have 
aapt with support for new resources.

Actually apktool does what it should - it removes these resources, so you are 
able to build apk back and resulting apk should be nearly identical to original 
one.

We can't do much about this until Google release new SDK tools and docs. Just 
ignore these warnings.

Original comment by Brut.alll on 13 Jul 2011 at 6:02

GoogleCodeExporter commented 9 years ago
Dang, I feared that would be the case. Not sure when they'll release 3.2. Were 
you able to decompile the SystemUI.apk after mounting the framework too? Or 
should I start a new issue for that? Because it doesn't even decompile, giving 
me many more errors.

Thanks for checking this out so quickly tho!

Original comment by brian6a...@gmail.com on 13 Jul 2011 at 6:06

GoogleCodeExporter commented 9 years ago
Hey Brut, I just downloaded the 3.2 SDK, copied the aapt.exe from 
platform-tools in to the apktool dir, and still get the same issues when trying 
to mount the framework. Are there any other files I need to bring in from the 
update?

Original comment by brian6a...@gmail.com on 16 Jul 2011 at 2:56

GoogleCodeExporter commented 9 years ago
There are no sources yet, but I should be able to deal with this.

Original comment by Brut.alll on 16 Jul 2011 at 3:29

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Fixed apktool up for 3.2 (v13) Ressources. Attaching the binary and the 
according patch.

Original comment by oliver.p...@gmail.com on 28 Jul 2011 at 7:58

Attachments:

GoogleCodeExporter commented 9 years ago
There are two versions of the download, one i posted earlier, which does not 
decode framework-res.apk correctly. This is fixed in the above upload (which I 
uploaded a few minutes later ;)). So, if your binary or patch do not work, 
please re-Download.

Original comment by oliver.p...@gmail.com on 28 Jul 2011 at 12:02

GoogleCodeExporter commented 9 years ago
Dude, you are the man!! Thank you so much!!

Original comment by brian6a...@gmail.com on 28 Jul 2011 at 3:39

GoogleCodeExporter commented 9 years ago
This 3.2 fix got me further, I.e further than the smali folder, however I 
recieve a values/ xml error and so all the other files and folders are there 
apart from the most important for me, values. I am using a 3.2 custom asus eee 
pad transformer rom.

Original comment by DanielWi...@gmail.com on 4 Aug 2011 at 11:34

GoogleCodeExporter commented 9 years ago
Hi,

have you done 'apktool if /path/to/your/framework-res.apk'

If you didnt, thats the issue, if you did I would need further Error messages 
and the apk you try to disassemble to be able to help you.

Original comment by oliver.p...@gmail.com on 4 Aug 2011 at 12:40

GoogleCodeExporter commented 9 years ago
Thankyou, did not know about that feature. All working.

Original comment by DanielWi...@gmail.com on 4 Aug 2011 at 3:13

GoogleCodeExporter commented 9 years ago
Struggling with compiling now with android 3.2, not sure if this has been 
mentioned somewhere else but whatever I try the following appears:

I: Building resources...
invalid resource directory name: C:\Users\Daniel\Desktop\Apk-tool\framework-res\
res/layout-sw600dp
invalid resource directory name: C:\Users\Daniel\Desktop\Apk-tool\framework-res\
res/layout-w600dp-v13
invalid resource directory name: C:\Users\Daniel\Desktop\Apk-tool\framework-res\
res/values-h720dp-v13
invalid resource directory name: C:\Users\Daniel\Desktop\Apk-tool\framework-res\
res/values-sw600dp
invalid resource directory name: C:\Users\Daniel\Desktop\Apk-tool\framework-res\
res/values-w1280dp-v13
invalid resource directory name: C:\Users\Daniel\Desktop\Apk-tool\framework-res\
res/values-w720dp-v13
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutExce
ption: could not exec command: [aapt, p, -F, C:\Users\Daniel\AppData\Local\Temp\
APKTOOL930483141669058782.tmp, -x, -S, C:\Users\Daniel\Desktop\Apk-tool\framewor
k-res\res, -M, C:\Users\Daniel\Desktop\Apk-tool\framework-res\AndroidManifest.xm
l]
        at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:193)
        at brut.androlib.Androlib.buildResourcesFull(Androlib.java:301)
        at brut.androlib.Androlib.buildResources(Androlib.java:248)
        at brut.androlib.Androlib.build(Androlib.java:171)
        at brut.androlib.Androlib.build(Androlib.java:154)
        at brut.apktool.Main.cmdBuild(Main.java:174)
        at brut.apktool.Main.main(Main.java:59)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\U
sers\Daniel\AppData\Local\Temp\APKTOOL930483141669058782.tmp, -x, -S, C:\Users\D
aniel\Desktop\Apk-tool\framework-res\res, -M, C:\Users\Daniel\Desktop\Apk-tool\f
ramework-res\AndroidManifest.xml]
        at brut.util.OS.exec(OS.java:83)
        at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:191)
        ... 6 more

Original comment by DanielWi...@gmail.com on 5 Aug 2011 at 8:22

GoogleCodeExporter commented 9 years ago
Seems like you forgot to update your Android SDK to API Version 13 -> So aapt 
is out of date and does not know how to pack the ressources.

Original comment by oliver.p...@gmail.com on 5 Aug 2011 at 9:37

GoogleCodeExporter commented 9 years ago
Hi Oliver, thanks for your great tool! I have been using it to build themes for 
the ASUS TF101, and with HC 3.2 recently released, I'm having a problem with 
bootloops after replacing 'framework-res.apk' and 'SystemUI.apk'.

I can decompile/build the APKs fine with that updated APKTool link you posted 
above, and I've also updated my Google SDK to v13 and replaced 'aapt.exe' from 
the SDK into the APKTool folder. Anyways, as I said, they appear to build fine, 
but when flashing them, I get a bootloop.

I have a logcat excerpt here: http://pastebin.com/1RnW3012, and the "E/----" 
lines do show an issue with missing/bad certs in AndroidManifest.xml.

Hoping you can lend some insight, as I never had a problem with HC 3.1 (and 
I've also re-installed the HC 3.2 framework-res.apk as a new tag).

Thanks in advance!

Original comment by scar45 on 6 Aug 2011 at 4:36

GoogleCodeExporter commented 9 years ago
Seems that you have a signing issue. Apktool removes the certificates once you 
run it. The best way to preserve them is to take the following steps.

1. unpack your apk
2. Make your changes
3. Repack the apk
4. Open the original apk in winzip or similar (the one you pulled from device 
or update.zip)
5. Unzip the new apk (the one you created with apktool)
6. Delete all files except AndroidManifest.XML and the meta-inf folder in the 
winzip window
7. Pull all the files from your unpacked new apk and push them into winzip 
(except AndroidManifest.XML)
8. Enjoy your newly signed hybrid

This should work for all apks, but only if you do not change AndroidManifest.xml

Original comment by oliver.p...@gmail.com on 6 Aug 2011 at 6:05

GoogleCodeExporter commented 9 years ago
Okay, ill try that although I can't seem to be able to re-download the 13 ApI. 
Could someone please upload the aapt for level 13, it would be a great help. 

Thanks

Dan

Original comment by DanielWi...@gmail.com on 6 Aug 2011 at 7:17

GoogleCodeExporter commented 9 years ago
Many thanks Oliver!

That was indeed the fix, although I did it the opposite way by taking the 
original META-INF + AndroidManifest.xml files, and popping them back into my 
modded APKs.

Thanks again for the swift reply! :)

Original comment by scar45 on 6 Aug 2011 at 2:37

GoogleCodeExporter commented 9 years ago
I wanted to edit a few simple things on my xoom like text colors and such. This 
tool accomplished just that, but it has a nasty side effect. In order for some 
of the changes to take place, I had to swap out the resources.arsc file from 
the newly compiled apk, which caused things to start crashing and force closing 
all over the place. For example, I only edited the clock color on the lock 
screen in framework-res and it caused the "Settings" menus in many apps to 
force a close of the app. 

I believe the problem lies here. I found this in drawables.xml in the values 
folder (which is used to create the .arsc file)

    <item type="drawable" name="APKTOOL_DUMMY_04b5">false</item>
    <item type="drawable" name="APKTOOL_DUMMY_04b8">false</item>
    <item type="drawable" name="APKTOOL_DUMMY_04ba">false</item>
    <item type="drawable" name="APKTOOL_DUMMY_04bd">false</item>
    <item type="drawable" name="APKTOOL_DUMMY_04bf">false</item>
    <item type="drawable" name="APKTOOL_DUMMY_04c3">false</item>
    <item type="drawable" name="APKTOOL_DUMMY_04c6">false</item>
    <item type="drawable" name="APKTOOL_DUMMY_04c8">false</item>
    <item type="drawable" name="APKTOOL_DUMMY_04c9">false</item>
    <item type="drawable" name="APKTOOL_DUMMY_04cb">false</item>

Any ideas?

Original comment by theguita...@gmail.com on 18 Aug 2011 at 1:41

GoogleCodeExporter commented 9 years ago
I have fixed this in a git.

Oliver, how did you now there is a -television qualifier - I don't see it in 
the docs?

Original comment by Brut.alll on 5 Nov 2011 at 1:36

GoogleCodeExporter commented 9 years ago
Hi,

I looked up the API Diffs. The density for tv is here:
http://developer.android.com/reference/android/util/DisplayMetrics.html

Here the UI Mode:
http://developer.android.com/reference/android/content/res/Configuration.html#UI
_MODE_TYPE_TELEVISION

Original comment by oliver.p...@gmail.com on 5 Nov 2011 at 8:46

GoogleCodeExporter commented 9 years ago
Thanks, seems they forgot to add it in the main article about qualifiers: 
http://developer.android.com/guide/topics/resources/providing-resources.html .

Ok, I have added it too.

Original comment by Brut.alll on 5 Nov 2011 at 5:15

GoogleCodeExporter commented 9 years ago

Original comment by Brut.alll on 5 Nov 2011 at 5:58

GoogleCodeExporter commented 9 years ago
Issue 197 has been merged into this issue.

Original comment by Brut.alll on 5 Nov 2011 at 9:07

GoogleCodeExporter commented 9 years ago
Issue 215 has been merged into this issue.

Original comment by Brut.alll on 5 Nov 2011 at 10:26

GoogleCodeExporter commented 9 years ago

Original comment by Brut.alll on 5 Nov 2011 at 11:00

GoogleCodeExporter commented 9 years ago
Issue 219 has been merged into this issue.

Original comment by Brut.alll on 5 Nov 2011 at 11:03

GoogleCodeExporter commented 9 years ago
Issue 230 has been merged into this issue.

Original comment by Brut.alll on 5 Nov 2011 at 11:49

GoogleCodeExporter commented 9 years ago
Issue 243 has been merged into this issue.

Original comment by Brut.alll on 28 Nov 2011 at 11:36

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
So this issue is not fixed
Tried http://dev-host.org/Agy with 1.4.2 and 1.4.3 but still getting:
W: Config flags size > 36. Exceeding bytes: 0x1000000.
W: Invalid config flags detected: dimen-hdpi-ERR0
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected: dimen-hdpi-ERR1
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected: dimen-hdpi-ERR2
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected: dimen-hdpi-ERR3
W: Config flags size > 36. Exceeding bytes: 0x1000000.
W: Invalid config flags detected: dimen-zh-rCN-hdpi-ERR4
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected: dimen-zh-rCN-hdpi-ERR5
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected: dimen-zh-rCN-hdpi-ERR6
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected: dimen-zh-rCN-hdpi-ERR7
W: Config flags size > 36. Exceeding bytes: 0x1000000.
W: Invalid config flags detected: dimen-zh-rTW-hdpi-ERR8
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected: dimen-zh-rTW-hdpi-ERR9
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected: dimen-zh-rTW-hdpi-ERR10
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected: dimen-zh-rTW-hdpi-ERR11

Original comment by must...@miswave.com on 14 Mar 2012 at 10:42

GoogleCodeExporter commented 9 years ago
Same issue here, apktool V1.4.3, HTC One X, htc-resources.apk..
As the apkis to big I have uploaded it to my ftp here >> 
http://leedroid.ftp.rshost.eu/share/com.htc.resources.apk

error log

I: Loading resource table...
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected. Dropping resources: dimen-hdpi-ERR0
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected. Dropping resources: dimen-hdpi-ERR1
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected. Dropping resources: dimen-hdpi-ERR2
W: Config flags size > 36. Exceeding bytes: 0x6000000.
W: Invalid config flags detected. Dropping resources: dimen-hdpi-ERR3
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected. Dropping resources: dimen-xhdpi-ERR4
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected. Dropping resources: dimen-xhdpi-ERR5
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected. Dropping resources: dimen-xhdpi-ERR6
W: Config flags size > 36. Exceeding bytes: 0x6000000.
W: Invalid config flags detected. Dropping resources: dimen-xhdpi-ERR7
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected. Dropping resources: dimen-ja-hdpi-ERR8
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected. Dropping resources: dimen-ja-hdpi-ERR9
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected. Dropping resources: dimen-ja-hdpi-ERR10
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected. Dropping resources: dimen-ja-xhdpi-ERR11
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected. Dropping resources: dimen-ja-xhdpi-ERR12
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected. Dropping resources: dimen-ja-xhdpi-ERR13
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected. Dropping resources: dimen-ko-hdpi-ERR14
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected. Dropping resources: dimen-ko-hdpi-ERR15
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected. Dropping resources: dimen-ko-hdpi-ERR16
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected. Dropping resources: dimen-ko-xhdpi-ERR17
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected. Dropping resources: dimen-ko-xhdpi-ERR18
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected. Dropping resources: dimen-ko-xhdpi-ERR19
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected. Dropping resources: dimen-zh-rCN-hdpi-ERR20
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected. Dropping resources: dimen-zh-rCN-hdpi-ERR21
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected. Dropping resources: dimen-zh-rCN-hdpi-ERR22
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected. Dropping resources: dimen-zh-rCN-xhdpi-ERR23
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected. Dropping resources: dimen-zh-rCN-xhdpi-ERR24
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected. Dropping resources: dimen-zh-rCN-xhdpi-ERR25
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected. Dropping resources: dimen-zh-rTW-hdpi-ERR26
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected. Dropping resources: dimen-zh-rTW-hdpi-ERR27
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected. Dropping resources: dimen-zh-rTW-hdpi-ERR28
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected. Dropping resources: dimen-zh-rTW-xhdpi-ERR29
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected. Dropping resources: dimen-zh-rTW-xhdpi-ERR30
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected. Dropping resources: dimen-zh-rTW-xhdpi-ERR31
Exception in thread "main" java.lang.NullPointerException
        at brut.androlib.res.decoder.ARSCDecoder.addMissingResSpecs(ARSCDecoder.java:315)
        at brut.androlib.res.decoder.ARSCDecoder.readType(ARSCDecoder.java:133)
        at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:105)
        at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:82)
        at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:48)
        at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:315)
        at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:50)
        at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:43)
        at brut.androlib.Androlib.getResTable(Androlib.java:44)
        at brut.androlib.ApkDecoder.getResTable(ApkDecoder.java:148)
        at brut.androlib.ApkDecoder.decode(ApkDecoder.java:98)
        at brut.apktool.Main.cmdDecode(Main.java:128)
        at brut.apktool.Main.main(Main.java:65)

Is apktool still under active development?

Original comment by linuxlee...@gmail.com on 6 Apr 2012 at 9:50

GoogleCodeExporter commented 9 years ago
I haven't seen brut.all in 8 months. I've taken over active dev.

http://connortumbleson.com/apktool-v1-4-5-a-tool-for-reverse-engineering-apk-fil
es/

Original comment by iBotPeac...@gmail.com on 26 Aug 2012 at 4:06