JSPM

  • Created
  • Published
  • Downloads 7073
  • Score
    100M100P100Q126495F
  • License MIT

Exact info from apk or ipa file.

Package Exports

  • app-info-parser
  • app-info-parser/src/apk
  • app-info-parser/src/apk.js
  • app-info-parser/src/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (app-info-parser) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

app-info-parser

app-info-parser is a parser for parsing .ipa or .apk files. It will return the information with json from AndroidManifest.xml or Info.plist.

Support

  • Node ✅

  • Browser

    Chrome Firefox Safari Opera IE
    latest ✅ latest ✅ latest ✅ latest ✅
  • npx

Installation

npm install app-info-parser
# or yarn
yarn add app-info-parser

Getting started

NPX Use

You can use app-info-parser by npx, if you don't want to install it. Run this command in your terminal:

npx app-info-parser -f <file-path> -o <output-path>
argument type description
-f string The path of file that you want to parse.
-o string The output path that you want to save the parse result. Default is "./result.json"

NPM Use

const AppInfoParser = require('app-info-parser')
const parser = new AppInfoParser('../packages/test.apk') // or xxx.ipa
parser.parse().then(result => {
  console.log('app info ----> ', result)
  console.log('icon base64 ----> ', result.icon)
}).catch(err => {
  console.log('err ----> ', err)
})

CDN Use

<input type="file" name="file" id="file" onchange="fileSelect()">
<script src="//unpkg.com/browse/app-info-parser/dist/app-info-parser.min.js"></script>
<script>
function fileSelect () {
  const files = document.getElementById('file').files
  const parser = new window.AppInfoParser(files[0])
  parser.parse().then(result => {
    console.log('app info ----> ', result)
    console.log('icon base64 ----> ', result.icon)
  }).catch(err => {
    console.log('err ----> ', err)
  })
}
</script>

Demand loading

You can use demand loading, when you only need one parser.

ApkParser

const ApkParser = require('app-info-parser/src/apk')
const parser = new ApkParser('../packages/test.apk')
parser.parse().then(result => {
  console.log('app info ----> ', result)
  console.log('icon base64 ----> ', result.icon)
}).catch(err => {
  console.log('err ----> ', err)
})

IpaParser

const IpaParser = require('app-info-parser/src/ipa')
const parser = new IpaParser('../packages/test.ipa')
parser.parse().then(result => {
  console.log('app info ----> ', result)
  console.log('icon base64 ----> ', result.icon)
}).catch(err => {
  console.log('err ----> ', err)
})

API Referrer

AppInfoParser | ApkParser | IpaParser

  • constructor(file)
    • file Blob or File in browser, Path in Node
  • parse: () => Promise<Object> A function return a promise, which resolving the parse result

Buy Me A Coffee

Open source is not easy, you can buy me a coffee. Note your name or github id so I can add you to the donation list.

Wechat Pay

Ali Pay

Donation List

❤️ Thanks these guys for donations. Contact me with email, if you had donated but not on the list.

Donors Amount Time
*明 ¥100 2023-03-29 10:16
*明 ¥100 2021-06-17 17:29
=*= ¥6.66 2021-05-24 15:12
*学 ¥6.66 2021-01-08 15:32
y*n ¥6.66 2020-08-26 12:10
*明 ¥100 2020-08-25 11:35
*肖 ¥6.66 2020-07-31 19:54
O*s ¥1 2020-05-26 16:01
**豪 ¥6.66 2020-03-05 20:14
*大 ¥6.66 2020-02-25 16:55
*风 ¥1 2020-01-03 15:36
黄灰红 ¥1 2019-12-10 17:53
zona.zhou ¥1 2019-10-20 23:18
*。 ¥66 2019-10-20 22:45

License

MIT

Resources

FAQ

Build/Parse error with vite?

See this issue of vite, vite is not going support node global builtins and node specific api's on the client. Some of app-info-parser's deps didn't support browser env, most of them without maintain, so it can't be resolved.

Just use app-info-parser by CDN using(import by script element), don't use it with module import in vite.