New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

apkman

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

apkman

Generate blank signed Android APKs as placeholder apps for Google Play Console

  • 1.0.1
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-66.67%
Maintainers
1
Weekly downloads
 
Created
Source

APKMAN

Generate blank signed Android APKs as placeholder apps for Google Play Console

Description

The Google Play Developer API only allows you to create edits once a first APK has been uploaded. This package helps you generate a minimal signed APK that can be used for exactly that. Once uploaded, you can interact with the Google Play Developer API via the specified packageName.

Installation

yarn add apkman

OR

npm install apkman

Usage

Using a new Keystore

const { generateApk, Keystore } = require('apkman')

const store = new Keystore('./keystore.jks', 'mystorepass')
await store.create('myalias', 'mykeypass')

const buffer = await generateApk('com.package.example', store, 'myalias', 'mykeypass')
fs.writeFileSync('app-release.apk', buffer

Using an existing Keystore

const { generateApk, Keystore } = require('apkman')

const store = new Keystore('./keystore.jks', 'mystorepass')
await store.verifyKey('myalias', 'mykeypass')

const buffer = await generateApk('com.package.example', store, 'myalias', 'mykeypass')
fs.writeFileSync('app-release.apk', buffer

Methods

Initialize Keystore:

new Keystore(filename, storepass, options = {
  validity: 10000,                // Keystore Certificate Validity in Days
  keysize: 2048,                  // Keystore Key Size
  keyalg: 'RSA',                  // Keystore Key Algorithm
  sigalg: 'SHA1withRSA',          // Keystore Signature Algorithm
  destalias: null,                // Keystore Destination Alias
  startdate: new Date(),          // Keystore Start Date
  x509ext: [],                    // Keystore Extensions
})

Create new key:

await keystore.create(alias, keypass, dname = {
  commonName: 'John Doe',
  organizationUnit: 'IT',
  organizationName: 'Sample Inc.',
  localityName: 'Singapore',
  stateName: 'Singapore',
  country: 'SG'
})

Verify existing key:

await keystore.verifyKey(alias, keypass)

Generate APK:

await apkman.generateApk(packageName, keystore, alias, keypass, options = {
  targetSdkVersion: 28,           // Target Android SDK Version
  buildToolsVersion: '28.0.3',    // Target Android Build Tools Version
})

Synopsis

apkman create [packageName] [keystorePath] [apkPath]

Create android APK at outputPath

Arguments:
  packageName   desired APK package name
  keystorePath  existing or desired Keystore output path
  apkPath       desired APK output path

Options:
  -s, --storepass                                     [default: random password]
  -a, --alias                                                   [default: "app"]
  -k, --keypass                                       [default: random password]
  -f, --force      override existing keystore         [boolean] [default: false]
  -v, --verbose    print verbose output               [boolean] [default: false]
  --help           Show help                                           [boolean]
  --version        Show version number                                 [boolean]

License

apkman is available under an MIT-style license.

FAQs

Package last updated on 20 May 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc