[Android-tools-devel] Bug#824933: Bug#824933: apktool: crashes with every APK

Paul Wise pabs at debian.org
Sun May 22 01:06:28 UTC 2016


On Sat, 2016-05-21 at 17:31 +0200, Markus Koschany wrote:

> Perhaps I also need to symlink aapt into /usr/share/apktool? I will try
> that later. In the meantime you can point apktool to aapt by using
> 
> apktool -a /usr/bin/aapt

Still crashes, see below. I guess that is because I haven't installed
the framework files yet. It would be nice if this error message was
more user-friendly (like telling where to download the framework).

> The second issue here is that users need the framework files otherwise
> they can't decode apk files.

Where can one download a copy of the AOSP framework?

> After that decoding should work but I haven't tested it yet. It would be
> more convenient if this worked out-of-the box without the need to run
> the above mentioned commands though.

Agreed.

> Not all apk files can be decoded with the AOSP framework files and I'm
> not so sure if the others are all free software but it would be a huge
> improvement if we could ship the AOSP files at least.

Understood, agreed. From what I read on the upstream website, there are
phone vendor frameworks (like for HTC) that are unlikely to be FLOSS.

Crash with Debian aapt:

pabs at chianamo ~/tmp-apk $ apktool -a /usr/bin/aapt d com.example.foo.apk 
I: Using Apktool 2.1.1-dirty on com.example.foo.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
Exception in thread "main" java.lang.NullPointerException
	at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:2146)
	at org.apache.commons.io.IOUtils.copy(IOUtils.java:2102)
	at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:2123)
	at org.apache.commons.io.IOUtils.copy(IOUtils.java:2078)
	at brut.androlib.res.AndrolibResources.getFrameworkApk(AndrolibResources.java:581)
	at brut.androlib.res.AndrolibResources.loadFrameworkPkg(AndrolibResources.java:121)
	at brut.androlib.res.data.ResTable.getPackage(ResTable.java:83)
	at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:66)
	at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:62)
	at brut.androlib.res.decoder.ResAttrDecoder.decode(ResAttrDecoder.java:39)
	at brut.androlib.res.decoder.AXmlResourceParser.getAttributeValue(AXmlResourceParser.java:369)
	at org.xmlpull.v1.wrapper.classic.XmlPullParserDelegate.getAttributeValue(XmlPullParserDelegate.java:69)
	at brut.androlib.res.decoder.XmlPullStreamDecoder$1.parseManifest(XmlPullStreamDecoder.java:97)
	at brut.androlib.res.decoder.XmlPullStreamDecoder$1.event(XmlPullStreamDecoder.java:65)
	at brut.androlib.res.decoder.XmlPullStreamDecoder.decode(XmlPullStreamDecoder.java:141)
	at brut.androlib.res.decoder.XmlPullStreamDecoder.decodeManifest(XmlPullStreamDecoder.java:153)
	at brut.androlib.res.decoder.ResFileDecoder.decodeManifest(ResFileDecoder.java:140)
	at brut.androlib.res.AndrolibResources.decodeManifestWithResources(AndrolibResources.java:208)
	at brut.androlib.Androlib.decodeManifestWithResources(Androlib.java:133)
	at brut.androlib.ApkDecoder.decode(ApkDecoder.java:106)
	at brut.apktool.Main.cmdDecode(Main.java:163)
	at brut.apktool.Main.main(Main.java:81)

-- 
bye,
pabs

https://wiki.debian.org/PaulWise
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/android-tools-devel/attachments/20160522/3e711399/attachment.sig>


More information about the Android-tools-devel mailing list