Skip to content

A javascript parser for parsing .ipa or .apk files. IPA/APK文件 js 解析器

License

Notifications You must be signed in to change notification settings

chenquincy/app-info-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

13be110 · Jan 8, 2024
Mar 22, 2019
May 8, 2021
May 8, 2021
Jan 8, 2024
Jul 23, 2019
Jun 6, 2023
May 19, 2019
Apr 12, 2019
Nov 6, 2018
May 8, 2021
May 8, 2021
May 8, 2021
Jan 8, 2024
Nov 6, 2018
Mar 29, 2023
Jan 8, 2024

Repository files navigation

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.