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.
- npx
npm install app-info-parser
# or yarn
yarn add app-info-parserYou 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" |
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) })
<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>
You can use demand loading, when you only need one parser.
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) })
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) })
constructor(file)fileBlob or File in browser, Path in Node
parse: () => Promise<Object>A function return a promise, which resolving the parse result
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.
❤️ 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 |
MIT
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.