arshidkv12 / android-apktool

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

Multiple errors extracting SGS2 apk files #170

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1.Download the apk files plus the two firmware-res files: 
http://www.multiupload.com/SA1DXSGPDZ
2. Run apktool -v d -t sgs2 File.apk unpacked/File on each file
3. You're now a sad panda.

What is the expected output? What do you see instead?
I expect it to work without any Java exceptions being thrown. I see this:

----install_flash_player.apk----

May 22, 2011 11:01:01 PM brut.androlib.Androlib decodeSourcesSmali
INFO: Baksmaling...
May 22, 2011 11:01:01 PM brut.androlib.res.AndrolibResources loadMainPkg
INFO: Loading resource table...
May 22, 2011 11:01:01 PM brut.androlib.res.AndrolibResources loadMainPkg
INFO: Loaded.
May 22, 2011 11:01:01 PM brut.androlib.res.AndrolibResources loadFrameworkPkg
INFO: Loading resource table from file: 
/home/robert/apktool/framework/1-sgs2.apk
May 22, 2011 11:01:02 PM brut.androlib.res.AndrolibResources loadFrameworkPkg
INFO: Loaded.
May 22, 2011 11:01:02 PM brut.androlib.res.AndrolibResources decode
INFO: Decoding file-resources...
May 22, 2011 11:01:02 PM brut.androlib.res.decoder.ResFileDecoder decode
SEVERE: Could not decode file, replacing by FALSE value: raw/ss_cfg.png
brut.androlib.AndrolibException: brut.directory.PathNotExist: ss_cfg.png
    at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:106)
    at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:60)
    at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:132)
    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)
Caused by: brut.directory.PathNotExist: ss_cfg.png
    at brut.directory.AbstractDirectory.getFileInput(AbstractDirectory.java:103)
    at brut.directory.AbstractDirectory.getFileInput(AbstractDirectory.java:100)
    at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:98)
    ... 6 more
May 22, 2011 11:01:02 PM brut.androlib.res.decoder.ResFileDecoder decode
SEVERE: Could not decode file, replacing by FALSE value: raw/ss_sgn.png
brut.androlib.AndrolibException: brut.directory.PathNotExist: ss_sgn.png
    at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:106)
    at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:60)
    at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:132)
    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)
Caused by: brut.directory.PathNotExist: ss_sgn.png
    at brut.directory.AbstractDirectory.getFileInput(AbstractDirectory.java:103)
    at brut.directory.AbstractDirectory.getFileInput(AbstractDirectory.java:100)
    at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:98)
    ... 6 more
May 22, 2011 11:01:02 PM brut.androlib.res.AndrolibResources decode
INFO: Decoding values*/* XMLs...
May 22, 2011 11:01:02 PM brut.androlib.res.AndrolibResources decode
INFO: Done.
May 22, 2011 11:01:02 PM brut.androlib.Androlib decodeRawFiles
INFO: Copying assets and libs...

----Maps.apk----

May 22, 2011 11:01:19 PM brut.androlib.Androlib decodeSourcesSmali
INFO: Baksmaling...
May 22, 2011 11:01:22 PM brut.androlib.res.AndrolibResources loadMainPkg
INFO: Loading resource table...
May 22, 2011 11:01:23 PM brut.androlib.res.AndrolibResources loadMainPkg
INFO: Loaded.
May 22, 2011 11:01:23 PM brut.androlib.res.AndrolibResources loadFrameworkPkg
INFO: Loading resource table from file: 
/home/robert/apktool/framework/1-sgs2.apk
May 22, 2011 11:01:24 PM brut.androlib.res.AndrolibResources loadFrameworkPkg
INFO: Loaded.
May 22, 2011 11:01:24 PM brut.androlib.res.AndrolibResources decode
INFO: Decoding file-resources...
May 22, 2011 11:01:24 PM brut.androlib.res.decoder.AXmlResourceParser 
getAttributeValue
WARNING: Could not decode attr value, using undecoded value instead: 
ns=android, name=iconifiedByDefault, value=0x00000000
brut.androlib.err.UndefinedResObject: resource spec: 0x010102fa
    at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:61)
    at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:55)
    at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:51)
    at brut.androlib.res.decoder.ResAttrDecoder.decode(ResAttrDecoder.java:35)
    at brut.androlib.res.decoder.AXmlResourceParser.getAttributeValue(AXmlResourceParser.java:315)
    at org.xmlpull.v1.wrapper.classic.XmlPullParserDelegate.getAttributeValue(XmlPullParserDelegate.java:69)
    at org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper.writeStartTag(StaticXmlSerializerWrapper.java:267)
    at org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper.event(StaticXmlSerializerWrapper.java:211)
    at brut.androlib.res.decoder.XmlPullStreamDecoder.decode(XmlPullStreamDecoder.java:46)
    at brut.androlib.res.decoder.ResStreamDecoderContainer.decode(ResStreamDecoderContainer.java:34)
    at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:100)
    at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:86)
    at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:132)
    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)
May 22, 2011 11:01:26 PM brut.androlib.res.decoder.AXmlResourceParser 
getAttributeValue
WARNING: Could not decode attr value, using undecoded value instead: 
ns=android, name=iconifiedByDefault, value=0x00000000
brut.androlib.err.UndefinedResObject: resource spec: 0x010102fa
    at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:61)
    at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:55)
    at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:51)
    at brut.androlib.res.decoder.ResAttrDecoder.decode(ResAttrDecoder.java:35)
    at brut.androlib.res.decoder.AXmlResourceParser.getAttributeValue(AXmlResourceParser.java:315)
    at org.xmlpull.v1.wrapper.classic.XmlPullParserDelegate.getAttributeValue(XmlPullParserDelegate.java:69)
    at org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper.writeStartTag(StaticXmlSerializerWrapper.java:267)
    at org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper.event(StaticXmlSerializerWrapper.java:211)
    at brut.androlib.res.decoder.XmlPullStreamDecoder.decode(XmlPullStreamDecoder.java:46)
    at brut.androlib.res.decoder.ResStreamDecoderContainer.decode(ResStreamDecoderContainer.java:34)
    at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:100)
    at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:86)
    at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:132)
    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)
May 22, 2011 11:01:26 PM brut.androlib.res.AndrolibResources decode
INFO: Decoding values*/* XMLs...
Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec: 
0x010102e4
    at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:61)
    at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:55)
    at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:51)
    at brut.androlib.res.data.value.ResReferenceValue.getReferent(ResReferenceValue.java:59)
    at brut.androlib.res.data.value.ResStyleValue.serializeToResValuesXml(ResStyleValue.java:51)
    at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResources.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)

----Street.apk----

May 22, 2011 11:03:45 PM brut.androlib.Androlib decodeSourcesSmali
INFO: Baksmaling...
May 22, 2011 11:03:46 PM brut.androlib.res.AndrolibResources loadMainPkg
INFO: Loading resource table...
May 22, 2011 11:03:46 PM brut.androlib.res.AndrolibResources loadMainPkg
INFO: Loaded.
May 22, 2011 11:03:46 PM brut.androlib.res.AndrolibResources loadFrameworkPkg
INFO: Loading resource table from file: 
/home/robert/apktool/framework/1-sgs2.apk
May 22, 2011 11:03:47 PM brut.androlib.res.AndrolibResources loadFrameworkPkg
INFO: Loaded.
May 22, 2011 11:03:47 PM brut.androlib.res.AndrolibResources decode
INFO: Decoding file-resources...
May 22, 2011 11:03:47 PM brut.androlib.res.AndrolibResources decode
INFO: Decoding values*/* XMLs...
Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec: 
0x010102e4
    at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:61)
    at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:55)
    at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:51)
    at brut.androlib.res.data.value.ResReferenceValue.getReferent(ResReferenceValue.java:59)
    at brut.androlib.res.data.value.ResStyleValue.serializeToResValuesXml(ResStyleValue.java:51)
    at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResources.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)

----VideoEditor.apk----

May 22, 2011 11:04:23 PM brut.androlib.Androlib decodeSourcesSmali
INFO: Baksmaling...
May 22, 2011 11:04:24 PM brut.androlib.res.AndrolibResources loadMainPkg
INFO: Loading resource table...
May 22, 2011 11:04:24 PM brut.androlib.res.AndrolibResources loadMainPkg
INFO: Loaded.
May 22, 2011 11:04:24 PM brut.androlib.res.AndrolibResources loadFrameworkPkg
INFO: Loading resource table from file: 
/home/robert/apktool/framework/1-sgs2.apk
May 22, 2011 11:04:25 PM brut.androlib.res.AndrolibResources loadFrameworkPkg
INFO: Loaded.
May 22, 2011 11:04:25 PM brut.androlib.res.AndrolibResources decode
INFO: Decoding file-resources...
May 22, 2011 11:04:26 PM brut.androlib.res.decoder.ResFileDecoder decode
WARNING: Cant find 9patch chunk in file: 
"drawable-hdpi/list_selector_background_focus.9.PNG". Renaming it to *.png.
brut.androlib.err.CantFind9PatchChunk: Cant find nine patch chunk
    at brut.androlib.res.decoder.Res9patchStreamDecoder.find9patchChunk(Res9patchStreamDecoder.java:82)
    at brut.androlib.res.decoder.Res9patchStreamDecoder.getNinePatch(Res9patchStreamDecoder.java:70)
    at brut.androlib.res.decoder.Res9patchStreamDecoder.decode(Res9patchStreamDecoder.java:47)
    at brut.androlib.res.decoder.ResStreamDecoderContainer.decode(ResStreamDecoderContainer.java:34)
    at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:100)
    at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:68)
    at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:132)
    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)
Caused by: java.io.EOFException
    at java.io.DataInputStream.readInt(DataInputStream.java:392)
    at brut.util.DataInputDelegate.readInt(DataInputDelegate.java:61)
    at brut.androlib.res.decoder.Res9patchStreamDecoder.find9patchChunk(Res9patchStreamDecoder.java:80)
    ... 10 more
May 22, 2011 11:04:26 PM brut.androlib.res.AndrolibResources decode
INFO: Decoding values*/* XMLs...
May 22, 2011 11:04:26 PM brut.androlib.res.AndrolibResources decode
INFO: Done.
May 22, 2011 11:04:26 PM brut.androlib.Androlib decodeRawFiles
INFO: Copying assets and libs...

----Zinio.apk----

May 22, 2011 11:04:50 PM brut.androlib.Androlib decodeSourcesSmali
INFO: Baksmaling...
May 22, 2011 11:04:51 PM brut.androlib.res.AndrolibResources loadMainPkg
INFO: Loading resource table...
May 22, 2011 11:04:51 PM brut.androlib.res.AndrolibResources loadMainPkg
WARNING: Skipping "android" package group
May 22, 2011 11:04:51 PM brut.androlib.res.AndrolibResources loadMainPkg
INFO: Loaded.
May 22, 2011 11:04:51 PM brut.androlib.res.AndrolibResources loadFrameworkPkg
INFO: Loading resource table from file: 
/home/robert/apktool/framework/1-sgs2.apk
May 22, 2011 11:04:52 PM brut.androlib.res.AndrolibResources loadFrameworkPkg
INFO: Loaded.
May 22, 2011 11:04:52 PM brut.androlib.res.AndrolibResources decode
INFO: Decoding file-resources...
May 22, 2011 11:04:53 PM brut.androlib.res.AndrolibResources decode
INFO: Decoding values*/* XMLs...
Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec: 
0x01030118
    at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:61)
    at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:55)
    at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:51)
    at brut.androlib.res.data.value.ResReferenceValue.getReferent(ResReferenceValue.java:59)
    at brut.androlib.res.data.value.ResReferenceValue.encodeAsResXml(ResReferenceValue.java:46)
    at brut.androlib.res.data.value.ResScalarValue.encodeAsResXmlAttr(ResScalarValue.java:43)
    at brut.androlib.res.data.value.ResStyleValue.serializeToResValuesXml(ResStyleValue.java:48)
    at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResources.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)

What version of the product are you using? On what operating system?
apktool1.4.2.269870b.jar
Linux

Please provide any additional information below.

Original issue reported on code.google.com by diesg...@gmail.com on 22 May 2011 at 9:20

GoogleCodeExporter commented 9 years ago
Maps.apk, Street.apk, Zinio.apk: update to apktool v1.4.1 and remove 
$HOME/apktool/framework/1.apk (it's written in migration instructions).

install_flash_player.apk, VideoEditor.apk: seems they're a little broken or 
binary-edited by someone already. First one is missing some png file(s), second 
has invalid 9.png file. Then apktool tries to fix problems, so you'll be able 
to build apk back. Rebuilt apk won't be perfectly ok, but it should be at least 
as good as original one.

Original comment by Brut.alll on 23 May 2011 at 7:18

GoogleCodeExporter commented 9 years ago
I'm already using v1.4.2.269870b so can't upgrade to 1.4.1 :). But that was the 
version I tried before I stumbled upon issue 169 
(http://code.google.com/p/android-apktool/issues/detail?id=169&sort=-id&colspec=
ID%20Stars%20Type%20Status%20Priority%20Milestone%20Owner%20Summary) where you 
had a link to this v1.4.2.269870b version. Same error with both 1.4.1 and 
v1.4.2.269870b.

And deleting 1.apk shouldn't really be needed when you're using -t sgs2 right? 
But I did anyway, and same errors.

Original comment by diesg...@gmail.com on 23 May 2011 at 9:00

GoogleCodeExporter commented 9 years ago
"And deleting 1.apk shouldn't really be needed when you're using -t sgs2 right?"

Yes, you're right.

"But I did anyway, and same errors."

But did you add "-t sgs2" this time? If yes then try without it. Let apktool 
use its own framework, at least Maps.apk and Street.apk should be decoded 
properly with it.

If 1.apk works with them and 1-sgs2.apk doesn't then question is: are you sure 
you have installed framework from SGS2? Could you try to remove 1-sgs.apk, 
repull and reinstall it? It's really weird that you can't decode Maps.apk and 
Street.apk with framework from SGS2.

Original comment by Brut.alll on 23 May 2011 at 9:55

GoogleCodeExporter commented 9 years ago
Yes I used -t sgs2. Anyway, I tried without -t sgs2 and it worked.

I re-installed everything, and this time I used the latest firmware for my 
region (I9100XWKE2_I9100XXKDJ_I9100OXXKE2_HOME), unpacked it to my computer, 
used simg2img (from ext4_tools in the SDK) to convert sparse ext4 image 
factoryfs.img to an ext4 image. Mounted it, copied it to a temp folder and did 
this from app/t (temp directory):

$ apktool -v if ../../framework/framework-res.apk sgs2
May 23, 2011 12:20:13 PM brut.androlib.res.AndrolibResources installFramework
INFO: Framework installed to: /home/robert/apktool/framework/1-sgs2.apk

$ apktool -v if ../../framework/twframework-res.apk sgs2
May 23, 2011 12:20:19 PM brut.androlib.res.AndrolibResources installFramework
INFO: Framework installed to: /home/robert/apktool/framework/2-sgs2.apk

$ ll ~/apktool/framework/
total 8304
-rw-rw-r--. 1 robert robert 4423742 May 23 12:19 1.apk
-rw-rw-r--. 1 robert robert 3992518 May 23 12:20 1-sgs2.apk
-rw-rw-r--. 1 robert robert   80298 May 23 12:20 2-sgs2.apk

$ apktool -v d ../Maps.apk out
May 23, 2011 12:20:45 PM brut.androlib.Androlib decodeSourcesSmali
INFO: Baksmaling...
May 23, 2011 12:20:48 PM brut.androlib.res.AndrolibResources loadMainPkg
INFO: Loading resource table...
May 23, 2011 12:20:49 PM brut.androlib.res.AndrolibResources loadMainPkg
INFO: Loaded.
May 23, 2011 12:20:49 PM brut.androlib.res.AndrolibResources loadFrameworkPkg
INFO: Loading resource table from file: /home/robert/apktool/framework/1.apk
May 23, 2011 12:20:49 PM brut.androlib.res.AndrolibResources loadFrameworkPkg
INFO: Loaded.
May 23, 2011 12:20:50 PM brut.androlib.res.AndrolibResources decode
INFO: Decoding file-resources...
May 23, 2011 12:20:52 PM brut.androlib.res.AndrolibResources decode
INFO: Decoding values*/* XMLs...
May 23, 2011 12:20:52 PM brut.androlib.res.AndrolibResources decode
INFO: Done.
May 23, 2011 12:20:52 PM brut.androlib.Androlib decodeRawFiles
INFO: Copying assets and libs...

$ apktool -v d -t sgs2 ../Maps.apk out2
May 23, 2011 12:21:00 PM brut.androlib.Androlib decodeSourcesSmali
INFO: Baksmaling...
May 23, 2011 12:21:03 PM brut.androlib.res.AndrolibResources loadMainPkg
INFO: Loading resource table...
May 23, 2011 12:21:04 PM brut.androlib.res.AndrolibResources loadMainPkg
INFO: Loaded.
May 23, 2011 12:21:04 PM brut.androlib.res.AndrolibResources loadFrameworkPkg
INFO: Loading resource table from file: 
/home/robert/apktool/framework/1-sgs2.apk
May 23, 2011 12:21:05 PM brut.androlib.res.AndrolibResources loadFrameworkPkg
INFO: Loaded.
May 23, 2011 12:21:05 PM brut.androlib.res.AndrolibResources decode
INFO: Decoding file-resources...
May 23, 2011 12:21:06 PM brut.androlib.res.decoder.AXmlResourceParser 
getAttributeValue
WARNING: Could not decode attr value, using undecoded value instead: 
ns=android, name=iconifiedByDefault, value=0x00000000
brut.androlib.err.UndefinedResObject: resource spec: 0x010102fa
        at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:61)
        at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:55)
        at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:51)
        at brut.androlib.res.decoder.ResAttrDecoder.decode(ResAttrDecoder.java:35)
        at brut.androlib.res.decoder.AXmlResourceParser.getAttributeValue(AXmlResourceParser.java:315)
        at org.xmlpull.v1.wrapper.classic.XmlPullParserDelegate.getAttributeValue(XmlPullParserDelegate.java:69)
        at org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper.writeStartTag(StaticXmlSerializerWrapper.java:267)
        at org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper.event(StaticXmlSerializerWrapper.java:211)
        at brut.androlib.res.decoder.XmlPullStreamDecoder.decode(XmlPullStreamDecoder.java:46)
        at brut.androlib.res.decoder.ResStreamDecoderContainer.decode(ResStreamDecoderContainer.java:34)
        at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:100)
        at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:86)
        at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:132)
        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)
May 23, 2011 12:21:07 PM brut.androlib.res.decoder.AXmlResourceParser 
getAttributeValue
WARNING: Could not decode attr value, using undecoded value instead: 
ns=android, name=iconifiedByDefault, value=0x00000000
brut.androlib.err.UndefinedResObject: resource spec: 0x010102fa
        at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:61)
        at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:55)
        at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:51)
        at brut.androlib.res.decoder.ResAttrDecoder.decode(ResAttrDecoder.java:35)
        at brut.androlib.res.decoder.AXmlResourceParser.getAttributeValue(AXmlResourceParser.java:315)
        at org.xmlpull.v1.wrapper.classic.XmlPullParserDelegate.getAttributeValue(XmlPullParserDelegate.java:69)
        at org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper.writeStartTag(StaticXmlSerializerWrapper.java:267)
        at org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper.event(StaticXmlSerializerWrapper.java:211)
        at brut.androlib.res.decoder.XmlPullStreamDecoder.decode(XmlPullStreamDecoder.java:46)
        at brut.androlib.res.decoder.ResStreamDecoderContainer.decode(ResStreamDecoderContainer.java:34)
        at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:100)
        at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:86)
        at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:132)
        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)
May 23, 2011 12:21:07 PM brut.androlib.res.AndrolibResources decode
INFO: Decoding values*/* XMLs...
Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec: 
0x010102e4
        at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:61)
        at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:55)
        at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:51)
        at brut.androlib.res.data.value.ResReferenceValue.getReferent(ResReferenceValue.java:59)
        at brut.androlib.res.data.value.ResStyleValue.serializeToResValuesXml(ResStyleValue.java:51)
        at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResources.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)

$ ll ../Maps.apk 
-rw-r--r--. 1 robert robert 6143559 May 23 12:07 ../Maps.apk

$ sha1sum ../Maps.apk 
8f62cbe941a6353f2b32840bb68ad3ba977eaf80  ../Maps.apk

Original comment by diesg...@gmail.com on 23 May 2011 at 10:28

GoogleCodeExporter commented 9 years ago
Ok, I understand now. This resource (0x010102fa, iconifiedByDefault) was added 
in Honeycomb (API 11), so it's missing in Gingerbread framework. You will have 
to use framework from SDK which is built into apktool.

But that issue uncovered a problem in apktool's design. Apk file using 
resources from API11 still can run on a device with API4 - seems Android 
ignores all unknown resources, but apktool throws errors. Apktool should ignore 
unknown resources, remove them from XML and show warnings to let user know that 
rebuilt apk won't be identical to original one. I'll create an issue for that.

Thanks!

Original comment by Brut.alll on 23 May 2011 at 11:02