0.0.3 • Published 6 years ago

js-apk-parser v0.0.3

Weekly downloads
9
License
ISC
Repository
github
Last release
6 years ago

#ApkInfo

Parse the AndroidManifest.xml and resources.arsc file in the apk file (apk already has zipjs unpacked).

参考文档:

1AndroidManifest文件格式 - https://blog.csdn.net/jiangwei0910410003/article/details/50568487

2Resource.arsc文件格式 - https://blog.csdn.net/jiangwei0910410003/article/details/50628894

eg:

import JSZip from 'jszip';
import ApkInfo from 'js-apk-parser';

JSZip.loadAsync(file)
  .then(zip => {
    zip.file("AndroidManifest.xml").async("arraybuffer").then(buffer => {
      JSZip.loadAsync(file).then(zip2 => {
        zip2.file("resources.arsc").async("arraybuffer").then(buffer2 => {
          const apkInfo = new ApkInfo(buffer, buffer2);
          console.log(`解析成功!包名:${apkInfo.getPackage()},version:${apkInfo.getVersionName()}, label: ${apkInfo.getLabel()}`);
        });
      });
    });
  }, e => {
  console.log(`解析apk失败:${e.message}`);
});

由于jszip^3.1.5版本存在bug,see:

https://github.com/Stuk/jszip/issues/543

fork了一份代码,修改后publish到了npm,所以请:

npm install jszip-issue-543 --save
import JSZip from 'jszip-issue-543';