ADBコマンドでAQUOSケータイ2のパッケージリストを出してみた - 適宜覚書-Fragments

ADBコマンドでAQUOSケータイ2のパッケージリストを出してみた

      2017/02/11

AQUOSケータイ2は名前の通りのガラケーです。その実態は簡易版Androidを使ったガラホです。ですので、純粋なAndroidスマートフォンには遠く及ばずともそれなりにAndroidで出来ることの一部が出来たりします。普通に電話として使う分には意識する必要もない訳ですが、出来ると聞けばちょっぴり気になります。

そこでAndroidのSDKにあるADBコマンドを使って、AQUOSケータイ2の情報を引き出してみたりしました。何分Androidも初めて、ガラホも初めてなので全く勝手が分かっていないので試行錯誤しています。最早、錯誤と言うか錯乱の領域かもしれません。でも、最早マイノリティであるガラケーの末裔の情報などネット上で見当たらないので、何かの参考になるといいですね。

ADBコマンドを使えるようにする

「そこからかいっ?!」…と全力ツッコミがありそうですが、残念ながらそこからです。だって、そんな環境無いんですもの、うちのWindows PCには。一応Macもあるんですが、メインで使っているWindows10(64bit)のノートPCに環境を作りました。必要なのはJAVA(JDK)とAndroid SDKの2つでこの順にインストールし、初期設定をします。

JAVA(SDK)とAndroid Studioのインストールする(速攻で壁にぶつかる)

Java(JDK)とAndroid SDKを導入してADBコマンドを使えるようにする | AndMemと言う一手順毎に細かく説明して下さった素晴らしい記事の通りに進めました。ただ、この記事通りに行かなかった点だけ書きます。

Android SDKの導入にDownload Android Studio and SDK Tools | Android DevelopersリンクからSDKのみをインストールするように説明がありましたが、自分が行った際このリンクはAndroid Studio と SDK ツールをダウンロードする | Android Studioに遷移し、統合開発環境のStudioページになります。

暫く周辺を探しましたが、SDKのみのインストーラが見当たらなかったのでStudioのインストール(現在のバージョンは2.2.3)を行いました。StudioにはSDKのインストールオプションが含まれています。残念ながらインストールオプションでSDKだけという風には出来なかったので、自分はフルインストールしました。(もしかすると探し方が悪かっただけでSDK単体インストーラはあるのかもしれない)

速攻で壁にぶつかってしまいました。でも、訳が分かって無いなりに何とかしてみます。

後で分かったのですが、このStudioの画面を下の法にスクロールすると「コマンドライン ツールのみ入手する」という項目がちゃんとありました。ですので、参考にした記事は正しく、そのまま進めることが出来ました。自分は無駄にStudioまで入れてしまっただけ…という話でした。

SDKのみのダウンロード

SDKのみのダウンロード

使いたい機体のバージョンに合ったSDKをインストールする

Studioと共にSDKはインストールされるのですが、最新のSDKだけです。今ですと7.1.1Nougatです。現時点でようやくNougat対応が機器ベンダから紹介されている段階なので、少なくとも自分の用途には合っていません。そこで使いたい機体に合わせたSDKをインストールします。では、具体的に何かというと自分の場合はこうです。

  • Sharp製AQUOSケータイ2 601SH(Android5.1.1 Lollipop)
    601SH-Androidバージョン

    601SH-Androidバージョン

  • Huawei製P9 lite(Android6.0 MarshMAllow)
    p9lite-Androidバージョン

    p9lite-Androidバージョン

  1. Android Studioの起動スプラッシュ画面で「Configure」-「SDK Studio」を選択します。
    「Configure」-「SDK Studio」

    「Configure」-「SDK Studio」

  2. 表示されたSDK設定画面でSDK Platfolmとして5.1と6.0のチェックをオンにしました。ついでに当面使わない7.0をオフにします。「同じ画面上部にSDKのPathが記載されています。もしかするとWindowsの環境変数でPathが通っていないかもなので、このPathをコピーして適当なテキストエディタに張り付けておきます。その後、「OK」ボタンを押します。
    デバイスのOSバージョンを指定

    デバイスのOSバージョンを指定

  3. 変更の確認(Confirm Change)が表示されるので、確認の上「OK」ボタンを押します。暫くダウンロードしつつインストールが自動で進みます。
    追加・削除の確認

    追加・削除の確認

  4. インストール完了後、Windowsのシステム環境変数のPathにadbコマンドのPathを設定します。先にコピーしておいたSDKのPathに「\platform-tools」を追加した場所です。具体的には「C:\Users\[ユーザ名]\AppData\Local\Android\sdk\platform-tools」([ユーザ名]は自分の環境に合わせます)で設定します。
  5. 念のためPathが通っているかをコマンドプロンプトを開いて「adb /?」を実行しました。下図のようにヘルプが表示されたので上手くいったようです。

AQUOSケータイ2向けのADB用USBドライバをインストールする

汎用的にはSDKのオプションにあるUSBドライバで良いのだと思いますが、AQUOSケータイ2の場合は製造元のシャープがADB用ドライバを公開しているのでそれをインストールします。インストール手順も公開ページに掲載されています。

手順にはドライバのインストールだけではなく、AQUOSケータイ2をUSBデバッグモードでPC側に認識させるための手順も含んでいます。

AQUOSケータイ2のパッケージリストを出してみる

ようやく準備が整ったので、順を追ってAQUOSケータイの情報をADBコマンドで出力してみました。まずは、状態ですが先のセットアップをしたままの状態ですのでAQUOSケータイ2とPCはMicroUSBケーブル経由で接続してあります。AQUOSケータイ2は開発者向けオプションでUSBデバッグのチェックをオンにして有効化してあります。

デバイス接続確認

  1. PCでコマンドプロンプトを開きます。
  2. 以下のコマンドでデバイス接続を確認します。
  3. PCで認識されているAndroid端末のIDが表示されます。複数ある場合はリスト表示され、処理対象を指定する場合に使いますが今回はAQUOSケータイ2だけが接続されている状態なので一個だけです。ここでIDが一個も表示されていないと認識等に失敗しています。とりあえず、自分の場合は表示されたのでここまでの設定が正常だったことがまずは確認できたのかな…と思います。

端末にログイン

  1. AQUOSケータイ2にログインし、端末側の操作を行います。今回は接続しているデバイスが1台のみなので以下のコマンドを使います。
  2. プロンプトが「shell@SG601SH:/ $」に変わりました。これでAQUOSケータイ2内の情報を操作できます。

パッケージのリストを出力する

  1. 以下のコマンドを使います。
  2. すると、AQUOSケータイ2に含まれたパッケージの名称リストが表示されます。
  3. APKファイルのフルパスとパッケージ名を合わせて知りたいのであれば、-fをオプションに追加します。
  4. Shellから抜けたい場合は以下のコマンドで通常のコマンドプロンプトに抜けます。
  5. 先のコマンドのようにリスト列挙だと大量に表示されてコマンドプロンプト上では可読性が低いのでテキスト出力します。ここまでのコマンドを繋げて、そのうえで出力をテキストファイルにリダイレクトします。
  6. すると、指定されたテキストファイル名で出力されます。自分のAQUOSケータイ2は入手以来、公式アプリでLINEとミラーリング用にVysorを入れた以外は特に変わったものをインストールしていません。(大量にあるので抜粋ですが…)

参考にした記事

APK利用環境の整備

adbコマンドの使い方

シャープの開発者向けページ

終わりに

実を言うとこれは前準備なのです。ガラホであるAQUOSケータイ2ですから、普通に使う分には初期組込みの機能、或いはSoftbankやシャープの提供するサービスやアプリを使っていれば安全に使えます。ここから一歩踏み出すと本来組み込めないアプリをインストールしてみたり、rootを取って色々してみたり、APIをいじってみたりということが出来るようになります。ただ、当然ながらリスクが高いです。下手なことをやると携帯電話の形をした文鎮になるので、正直どうしようかなあ…という感じで様子見のためにちょっぴり中身を覗いたとこなのです。

一方で、シャープのAPI提供が2017年2月までとアナウンスされているんです。ですので、サンプルコードやドキュメントが公式に手に入る期間というのが残り僅かの期間しか無いのです。維持管理するにもコストがかかるので切り捨てられてしまったのだろうと推測出来て悲しい話です。

このたび、当サイトにて公開しておりました弊社独自の拡張APIにつきまして、
ご利用状況などを踏まえ、サポートを終了することとなりました(フォーラムへのお問い合わせも含まれます)。
なお、本APIを今後発売する新機種へ搭載する予定はございません。

●サポートを終了する弊社独自機能API一覧
赤外線データ転送、LEDフラッシュライト、サブカメラ、開閉通知、ファイルピッカー、歩数計、
3D表示、赤外線リモコン、二眼カメラ、3Dライブ壁紙、ワンセグ、スクリーンショット抑止、
公開フォント、QHD (960x540) 240 Logical Density、10キーモデル キーコード、
Android 4.2端末のBluetoothLowEnergy
 
●サポート終了時期 2017年2月末(予定)
ご利用いただいておりましたお客様にはお詫び申し上げますとともに、
今後もより良いサービスをお届けできるよう努めて参ります。
ご理解の程、宜しくお願い致します。

多分非公式には誰かがコピーをして配布したりしてくれるかもしれないんですけど、何が紛れ込むか分からないですし…。かといって初めておっかながりながらadbコマンドの初歩中の初歩を弄っているレベルで先に進むか…悩ましいです。

適宜覚書-Fragmentsは、筆者が興味をもった様々な情報やネタを筆者が忘れても後で思い出せるよう覚書として公開するBlogです。Google Chrome拡張、Facebook、Google、Twitter、Windows、各種Webアプリなどを扱うことが多いです。この覚書が、もし何かお役立ちになれば幸いです。

 - Android, Tips, Windows, ツール , , , , , , , , , , , , , , , , ,