# hero-app-info-parser

> Exact info from apk or ipa file.

Latest version **0.1.1** (published 2022-03-17) · MIT license · 0 weekly downloads

## Install

```sh
npm install hero-app-info-parser
pnpm add hero-app-info-parser
yarn add hero-app-info-parser
bun add hero-app-info-parser
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.1 |
| Published | 2022-03-17 |
| First published | 2021-01-25 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 6 |
| Unpacked size | 2.5 MB |
| Known vulnerabilities | 0 (+11 in 1 direct dependencies) |
| Install scripts | no |
| Author | finget |
| Maintainers | finget |
| Keywords | ipa, apk, parser, browser, node |

## Links

- npm: https://www.npmjs.com/package/hero-app-info-parser
- npm.io page: https://npm.io/package/hero-app-info-parser

## Dependencies (6)

- [plist](https://npm.io/package/plist.md) ^3.0.2
- [bytebuffer](https://npm.io/package/bytebuffer.md) ^5.0.1
- [protobufjs](https://npm.io/package/protobufjs.md) ^6.11.2
- [cgbi-to-png](https://npm.io/package/cgbi-to-png.md) ^1.0.7
- [bplist-parser](https://npm.io/package/bplist-parser.md) ^0.2.0
- [isomorphic-unzip](https://npm.io/package/isomorphic-unzip.md) ^1.1.5

## Recent versions

- 0.1.1 (latest) — 2022-03-17
- 0.1.0 — 2022-03-17
- 0.0.3 — 2021-09-10
- 0.0.2 — 2021-01-25
- 0.3.12 — 2021-01-25

## README

## hero-app-info-parser

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


为英雄游戏定制开发的app解析工具，基于[app-info-parser](https://github.com/chenquincy/app-info-parser) 的二次开发，适用场景有限(仅限英雄游戏)！


## Support

* Node ✅

* Browser 

  | ![Chrome](https://camo.githubusercontent.com/26846e979600799e9f4273d38bd9e5cb7bb8d6d0/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f6d61737465722f7372632f6368726f6d652f6368726f6d655f34387834382e706e67) | ![Firefox](https://camo.githubusercontent.com/6087557f69ec6585eb7f8d7bd7d9ecb6b7f51ba1/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f6d61737465722f7372632f66697265666f782f66697265666f785f34387834382e706e67) | ![Safari](https://camo.githubusercontent.com/6fbaeb334b99e74ddd89190a42766ea3b4600d2c/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f6d61737465722f7372632f7361666172692f7361666172695f34387834382e706e67) | ![Opera](https://camo.githubusercontent.com/96d2405a936da1fb8988db0c1d304d3db04b8a52/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f6d61737465722f7372632f6f706572612f6f706572615f34387834382e706e67) | ![IE](https://camo.githubusercontent.com/4b062fb12353b0ef8420a72ddc3debf6b2ee5747/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f6d61737465722f7372632f617263686976652f696e7465726e65742d6578706c6f7265725f392d31312f696e7465726e65742d6578706c6f7265725f392d31315f34387834382e706e67) |
  | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: |
  |                           latest ✅                           |                           latest ✅                           |                           latest ✅                           |                           latest ✅                           |                              ❌                               |



## Installation

``` shell
npm install hero-app-info-parser
# or yarn
yarn add hero-app-info-parser
```



## Getting started

### NPM Use

``` javascript
const AppInfoParser = require('hero-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)
})
```

### Basic Use

``` html
<input type="file" name="file" id="file" onchange="fileSelect()">
<script src="/dist/hero-app-info-parser.js"></script>
<script>
function fileSelect () {
  const files = document.getElementById('file').files
  const parser = new 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

``` javascript
const ApkParser = require('hero-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

``` javascript
const IpaParser = require('hero-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)
})
```

#### AabParser

``` javascript
const AabParser = require('hero-app-info-parser/src/aab')
const parser = new IpaParser('../packages/test.aab')
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



##  License

MIT

---
_Source: https://npm.io/package/hero-app-info-parser · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
