{"id":20970580,"url":"https://github.com/eventonehq/apkup","last_synced_at":"2025-05-14T11:33:38.197Z","repository":{"id":35013985,"uuid":"161928554","full_name":"eventOneHQ/apkup","owner":"eventOneHQ","description":"🚀 Publish APKs to Google Play directly from the terminal","archived":false,"fork":false,"pushed_at":"2023-04-30T01:58:04.000Z","size":1102,"stargazers_count":39,"open_issues_count":16,"forks_count":12,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-13T12:08:31.569Z","etag":null,"topics":["android","apk","google","google-play","hacktoberfest","mobile","play","upload"],"latest_commit_sha":null,"homepage":"https://oss.eventone.page/apkup","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eventOneHQ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["nprail"]}},"created_at":"2018-12-15T17:30:53.000Z","updated_at":"2025-02-11T18:41:57.000Z","dependencies_parsed_at":"2024-06-19T01:54:26.783Z","dependency_job_id":null,"html_url":"https://github.com/eventOneHQ/apkup","commit_stats":{"total_commits":110,"total_committers":8,"mean_commits":13.75,"dds":0.5272727272727273,"last_synced_commit":"fb14b6309ecd53c5094fb64c9f298cf0256df9f2"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eventOneHQ%2Fapkup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eventOneHQ%2Fapkup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eventOneHQ%2Fapkup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eventOneHQ%2Fapkup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eventOneHQ","download_url":"https://codeload.github.com/eventOneHQ/apkup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254131853,"owners_count":22020028,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","apk","google","google-play","hacktoberfest","mobile","play","upload"],"created_at":"2024-11-19T03:59:41.597Z","updated_at":"2025-05-14T11:33:37.807Z","avatar_url":"https://github.com/eventOneHQ.png","language":"TypeScript","funding_links":["https://github.com/sponsors/nprail"],"categories":[],"sub_categories":[],"readme":"\u003ch3 align=\"center\"\u003eApkup\u003c/h3\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![npm](https://img.shields.io/npm/v/apkup.svg)](https://www.npmjs.com/package/apkup)\n[![Build Status](https://travis-ci.com/eventOneHQ/apkup.svg?branch=master)](https://travis-ci.com/eventOneHQ/apkup)\n[![GitHub Issues](https://img.shields.io/github/issues/eventOneHQ/apkup.svg)](https://github.com/eventOneHQ/apkup/issues)\n[![GitHub Pull Requests](https://img.shields.io/github/issues-pr/eventOneHQ/apkup.svg)](https://github.com/eventOneHQ/apkup/pulls)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n\u003c/div\u003e\n\n---\n\n\u003cp align=\"center\"\u003e Publish APKs to Google Play directly from the terminal\n    \u003cbr\u003e \n\u003c/p\u003e\n\nThis package offers a streamlined way to publish packages in the Google Play Store.\n\nA fork of [playup](https://github.com/jeduan/playup).\n\n## 📝 Table of Contents\n\n- [Getting Started](#getting_started)\n- [Usage](#usage)\n- [Authentication](#authentication)\n- [Contributing](CONTRIBUTING.md)\n- [Authors](#authors)\n- [Acknowledgments](#acknowledgement)\n\n## 🏁 Getting Started \u003ca name = \"getting_started\"\u003e\u003c/a\u003e\n\nGetting started with `apkup` is pretty easy and straight forward.\n\nInstall the `apkup` package globally or locally:\n\n```bash\nnpm i -g apkup\napkup --help\n\n# or if you just want to use the CLI locally\nnpx apkup --help\n\n# or install the library into your project\nnpm i -D apkup\n```\n\n### CLI\n\nThen use the CLI:\n\n```bash\napkup \\\n  --key api.json \\\n  --apk /path/to/Package.apk \\\n  --deobfuscation /path/to/mapping.txt \\ # optional\n  --release-notes \"en-US=lorem ipsum dolor\" \\\n  --obbs /path/to/Expansion.obb \\  # optional\n  --obbs /path/to/Expansion2.obb   # optional\n```\n\nYou can also specify each parameter via environment variables prefixed with `APKUP_` (e.g. `APKUP_KEY` or `APKUP_APK`).\n\n### Library\n\nOr use the JavaScript library!\n\n```javascript\n// typescript / modulejs\nimport { Apkup } = from 'apkup';\n// or commonjs\nconst { Apkup } = require('apkup');\n\nconst apkup = new Apkup({\n  client_email: '',\n  private_key: ''\n});\n\napkup\n  .upload('/path/to/apk', {\n    obbs: [\n      // optional expansion files (max 2)\n      '/path/to/somefile.obb'\n    ],\n    releaseNotes: [\n      {\n        language: 'en-US',\n        text: 'Minor bug fixes...'\n      }\n    ]\n  })\n  .then(data =\u003e {\n    console.log(` \u003e ${data.packageName} version ${data.versionCode} is up!`);\n  });\n\n```\n\n## 🔒 Authentication \u003ca name = \"authentication\"\u003e\u003c/a\u003e\n\nFirst you have to create a Google Play API Access. To do that go to the\n[Google Play Developer Console](https://play.google.com/apps/publish) and then\nwith the account owner go to Settings -\u003e API access and create a Google Play\nAndroid Developer project.\n\nAfter that follow the instructions to create a Service Account.\nWhen you click Create Client ID, choose Service Account. You will get a JSON file\nwith a public key and the service email.\n\nThe created Service Account needs the following role:\n\n- Release manager\n\n## 🎈 Usage \u003ca name=\"usage\"\u003e\u003c/a\u003e\n\nSee the full docs [here](https://oss.eventone.page/apkup/classes/index.apkup).\n\n## ✍️ Authors \u003ca name = \"authors\"\u003e\u003c/a\u003e\n\n- [@nprail](https://github.com/nprail) - Maintainer\n\nSee also the list of [contributors](https://github.com/eventOneHQ/apkup/contributors) who participated in this project.\n\n## 🎉 Acknowledgements \u003ca name = \"acknowledgement\"\u003e\u003c/a\u003e\n\n- The original project, [playup](https://github.com/jeduan/playup)!\n- Hat tip to anyone whose code was used\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feventonehq%2Fapkup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feventonehq%2Fapkup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feventonehq%2Fapkup/lists"}