desword / android-apktool

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

Play Store 5 won't decompile, even with latest apktool commits #685

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. try to decompile play store 5

here's a link to the apk:
http://www.apkmirror.com/apk/google-inc/google-play-store/google-play-store-5-0-
31-apk/

What is the expected output? What do you see instead?

C:\Users\Dan\gapps\WIP>apktool d play-new.apk
I: Using Apktool 2.0.0-4a4ae9-SNAPSHOT on play-new.apk
I: Loading resource table...
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\Dan\apktool\framework\1.apk
I: Regular manifest package...
I: Decoding file-resources...
W: Could not decode attr value, using undecoded value instead: ns=android, name=
touchscreenBlocksFocus, value=0xffffffff
I: Decoding values */* XMLs...
Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec:
0x0101048f
        at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:59)
        at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:58)
        at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:54)
        at brut.androlib.res.decoder.ResAttrDecoder.decode(ResAttrDecoder.java:3
6)
        at brut.androlib.res.decoder.AXmlResourceParser.getAttributeValue(AXmlRe
sourceParser.java:369)
        at org.xmlpull.v1.wrapper.classic.XmlPullParserDelegate.getAttributeValu
e(XmlPullParserDelegate.java:69)
        at org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper.writeStartT
ag(StaticXmlSerializerWrapper.java:267)
        at org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper.event(Stati
cXmlSerializerWrapper.java:211)
        at brut.androlib.res.decoder.XmlPullStreamDecoder$1.event(XmlPullStreamD
ecoder.java:83)
        at brut.androlib.res.decoder.XmlPullStreamDecoder.decode(XmlPullStreamDe
coder.java:141)
        at brut.androlib.res.decoder.ResStreamDecoderContainer.decode(ResStreamD
ecoderContainer.java:33)
        at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:1
07)
        at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:9
1)
        at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:322
)
        at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:123)
        at brut.androlib.ApkDecoder.decode(ApkDecoder.java:102)
        at brut.apktool.Main.cmdDecode(Main.java:170)
        at brut.apktool.Main.main(Main.java:86)

What version of the product are you using? On what operating system?
self built with latest commits.

Please provide any additional information below.
THIS IS NOT THE SAME AS ISSUE 664

Original issue reported on code.google.com by dankoma...@gmail.com on 10 Oct 2014 at 1:54

GoogleCodeExporter commented 9 years ago
When L 64bit dropped (a few days ago) - 
https://plus.google.com/u/0/+AndroidDevelopers/posts/XG1WmNDMe8H

There was a new framework apart of it. This apk in OP is complaining about

 > brut.androlib.err.UndefinedResObject: resource spec: 0x0101048f

Which is not in the framework prior to this 64 bit release. It is in the 
framework released in the 64bit release (which also updated the non 64 bit 
release to rev.2)

 > ibotpeaches@raganok:/usr/local/android-sdk/platforms/android-L$ aapt d resources android.jar | grep '0x0101048f'
 >     spec resource 0x0101048f android:attr/accessibilityFocusedDrawable: flags=0x00000000
 >       resource 0x0101048f android:attr/accessibilityFocusedDrawable: <bag>

So rev2 of android-L has this resource. Normally using this as a framework and 
including it would solve this problem. However, installing this new framework 
is now failing

 > brut.androlib.AndrolibException: Multiple resources: spec=0x01030128 style/Theme.DeviceDefault, config=[DEFAULT]

That little error is the same as the Android L bug. I don't feel right marking 
this as a duplicate because I'm not entirely positive (though 99% sure), that 
after fixing the framework this error will go away.

Therefore its blocked until #653 is fixed.

Original comment by connor.tumbleson on 10 Oct 2014 at 2:43

GoogleCodeExporter commented 9 years ago
Since, according to 
https://code.google.com/p/android-apktool/issues/detail?id=653#c11, issue 653 
is fixed, I've checked with the locally built apktool from 
https://github.com/iBotPeaches/Apktool/commit/869d287aaab61995e537bcfdfb8a043559
897d71 and the issue still exists.

Original comment by Milosz.Lewandowski on 23 Oct 2014 at 3:30

GoogleCodeExporter commented 9 years ago
Using framework-res.apk from Nexus 5, OS 5.0 fixes the problem.

Original comment by Milosz.Lewandowski on 23 Oct 2014 at 3:53

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
@ Comment #2 / #3. I believe the problem would of been solved by also removing 
the framework at $HOME/apktool/framework/1.apk and letting it populate it with 
the API 21 framework internal in itself.

There is no support...yet for apktool to know when it should auto update the 
framework it uses.

Original comment by connor.tumbleson on 23 Oct 2014 at 4:01

GoogleCodeExporter commented 9 years ago
Got it, works fine.

Original comment by Milosz.Lewandowski on 27 Oct 2014 at 10:58

GoogleCodeExporter commented 9 years ago
I don't duplicate this anymore after my merged changes of Lollipop support.

Original comment by connor.tumbleson on 1 Dec 2014 at 12:13