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@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
signature.asc
Description: This is a digitally signed message part