Google Play Store に apk をスクリプトでアップロードする

GoogleからこんなAPIが公開されています.

Awesome__Automated_Google_Play_publishing_via_an_API__May_add_this_into_my…

Awesome! Automated Google Play publishing via an API. May add this into my…

これまでのapkアップロードの方法は, ブラウザからapkをアップロードしていましたが.

APK-Google_Play_Developer_Console

このAPI何ができるのか.

API Reference - Google Play Developer API — Google Developers

ほとんどこれまでブラウザで操作してた「Google Developer Console」の内容は処理できる雰囲気.

apk を操作するのは以下.

Edits.apklistings

Edits.apks

サンプルとしてpythonなスクリプトあります.

google/google-api-python-client

android-play-publisher-api/v2/python at master · googlesamples/android-play-publisher-api

android-play-publisher-api-master/v2/python/
├── README.md
├── basic_list_apks.py
├── basic_list_apks_service_account.py
├── basic_upload_apks.py
├── client_secrets.json
├── update_listings.py
├── upload_apks_rollout.py
└── upload_apks_with_listing.py

とりあえず, スクリプトから PlayStore にアクセスして apk のアップロード済みリストを取得してみる.

$ python basic_list_apks.py
usage: basic_list_apks.py [-h] [--auth_host_name AUTH_HOST_NAME]
                          [--noauth_local_webserver]
                          [--auth_host_port [AUTH_HOST_PORT [AUTH_HOST_PORT ...]]]
                          [--logging_level {DEBUG,INFO,WARNING,ERROR,CRITICAL}]
                          package_name
$ python basic_list_apks.py com.sample.package
versionCode: 92, binary.sha1: b364588222644f011a027d8ca00c99590a67ede5
versionCode: 93, binary.sha1: bfe26c13974454e893192802fb0ef09bbb0e9678
versionCode: 94, binary.sha1: f5affe6fef705365fd53441889405c88c930c535

効率的に自動化する使い方ができそう.

まずは以下から, APIのIDとキーの取得からやるとわかりやすいかも.

Google_Developers_Console

Google Developers Console


MinSdkVersion を決めるときに素早くカバー率を算出する方法

「で, どれくらいのカバー率なの?」

「えーっと, Gingerbread なので 2.3 からなので API10から なのでー...」

とか, だるいすね.

で, 開くページが だいたいここ.

Dashboards___Android_Developers

Dashboards | Android Developers

で, こんな ダイアログが AndroidStudio にあったりします.

Screenshot_7_23_14__13_01

各OSバージョンの概要と説明ページへのリンク付きです.

Create_New_Project

新規プロジェクト作成からどうぞ.

Create_New_Project_and_Android_Studio


「Android File Transfer」で 何もできずに Mac 再起動 とか

GUI上のドラッグアンドドロップででAndroid端末に簡単にファイルコピーなどに便利なツールなのですが.

android-101-the-android-file-transfer-app-for-mac-623x490

Android.com - File Transfer

USBでMacとAndroidをつないだ瞬間, 勝手に起動して, Mac画面からカーソルが消えて, キーボードやマウスやパッドの入力を一切受け付けなくなる.

きっとみなさんも イラッとして, 作業の途中でMac再起動とか.

どこかネットで見たフレーズが思い出されました.

AndroidスマートフォンでUSB Mass Storageを利用できずにMTPとかいうゴミ規格を利用している皆さんこんにちは。

ゴミ規格て (笑)

MacでMTPを利用できるソフトウェアであるAndroid File Transferが、端末をUSBで接続するだけで起動してしまい、しかも接続のたびにOSXのUIが10秒程度フリーズしとても邪魔なので対処法を見つけました。

Android File Transferが端末を繋ぐたびに自動で起動して邪魔 - sudo_viの日記

作業途中で, パソコン再起動ほどキレそうになることはありません.

再起動したあと, イラッとしながら調べると, クソ加減が分かります.

Now whenever I plug in certain USB devices that can't be used for transferring files (my Nexus 7 in locked state, an iPhone…) my laptop's built-in keyboard and trackpad stop working [external mouse stays working].

Issue 39548 - android - Android File Transfer breaks MacBook Air built in keyboard and mouse - Android Open Source Project - Issue Tracker - Google Project Hosting

android_file_transfer_freeze_mac_-_Google_検索

android file transfer freeze mac - Google 検索

前述と同様な感じでみんな回避してる雰囲気.

rm -r ~/Library/Application\ Support/Google/Android\ File\ Transfer/Android\ File\ Transfer\ Agent.app
cd /Applications/Android\ File\ Transfer.app/Contents/Resources
mv Android\ File\ Transfer\ Agent.app Android\ File\ Transfer\ Agent.app.disable

Taming Android File Transfer on Mac OS X

この方法で, 自動起動を停止しておけば, 挿した瞬間イラッとすることは避けられるし, 手動で File Transfer を利用することができます.

または, 端末側で「MTP」なる規格をOFFにもできるようです.

ADBなどは通常通り使用できます.

[ 設定 ]-[ ストレージ ]-[ 右上メニュー ]-[ USBでパソコンに接続 ]

20140721-164038

これでスッキリです.