2016-11-19 50 views
0

我們正在處理一個項目,我們必須計算一個MD5並提取正在窗體中上傳的APK的pname。我們已經完成了MD5位,但現在已經難倒了pname之一。如何提取JavaScript中的Android APK的pname?

pname包含在AndroidManifest.xml中,因此我們可以使用JS zip庫從APK中提取AndroidManifest.xml,但問題在於二進制XML。在服務器端,我們只需使用aapt或apktool解壓APK,然後以純文本閱讀AndroidManifest.xml,但我們在JS中做什麼?

二進制AndroidManifest.xml看起來像這樣:http://i.imgur.com/YQCnkp4.png

任何想法?

回答

0

在找到二進制XML的名稱後,Android使用的是AXML,並找到對AXMLPrinter的引用,到目前爲止我們提出的最佳解決方案是使用JS zip庫提取AndroidManifest.xml文件,並將其發送到服務器,然後使用或者AXMLPrinter2.jar

java -jar AXMLPrinter2.jar AndroidManifest.xml

the Python port

python axmlprinter.py -i AndroidManifest.xml

我仍然希望找到AXMLPrinter的JS實現,但我想這會做其他事情。