SolidRun AMD HAILO Marvell NXP
Renesas TexasInstruments
  • ホーム
  • アーティクル★
  • 製品情報
  • イベント情報
  • Petapico コラム
  • ダイレクトショップ
  • DL
  • 英徳社について
  • 問い合わせ
07日 3月 2015

ソフトウェア TIPS(20) CuBox-i Androidのroot取得とadbの使い方

CuBox-iのAndroidをもっと使いこなしたいと思うと、じゃあroot権限を取得したいということになります。PetapicoShopにも問い合わせがきています。ということでこのあたりを探ってみます。CuBox-iについての検証を行っていますが、PC・LinuxPCを使ったやり方は基本的には、市販のAndroid端末でも同様に使えます。ブロックしているスマホもありますので万能とはいきません。スマホ単体でrootを取得するには、特殊なアプリがあるので、それを利用する他ありません。機種ごとにに違ったりするので追いかけている方も相当な労力です。

 

 いったん本体のrootをとれたらadbを使うと色々な作業が楽にできます。adb(Android Debug Bridge)はAndroidのデバッグをサポートするツール群です。adbはAndroid SDKに含まれているのでSDKをインストールするとすぐに使うことができます。Androidを開発に用いる方ならば準備しておいて損はありません。adbが使えるかどうかはターゲットとなるAndroid端末がadbを許しているかどうかで決まります。事前に判断するツールはありません。実のところ、CuBox-iのデフォルトのAndroid4.3 (JerryBean)や、Ignitionを使ってAndroid4.4 (kitkat)にアップデートしたものでもadbを許していません。これは容易には対処できません。PetapicoShopのオリジナル版では、エンジニアリング用にビルドしています。(*下記参考)もともとはコラムの別記事にも記載のようにタッチパネルディスプレイとWiFiのUSBドングルのためにカスタマイズして作成したものです。このバージョンではadbが使えます。コラム記載の情報からビルドを再現することができます。しかしフルビルドは時間がかかることなので、PetapicoShop版Android4.4のSDとしてPetapicoShopから購入することも可能です。

ここでは、CuBox-iのAndroid4.4 (kitkat)のPetapicoShopビルド版 を使って検証します。

[LinuxPCをお使いの場合]

 

PCにadbツールをインストールしてサーバーを起動します。

$ apt-get install android-tools-adb

$ adb start-server

 

 

 

 

Android 端末を LANまたはWi-Fi ネットワークに接続し、IPアドレスを確かめます。

Android端末本体の「設定」>「WiFi」>「接続済み」となっているネットワーク名(SSID)をクリックするとIPアドレスが分かります。LAN接続ならば、Ethernetというアプリを起動してCheck Ethernetを選ぶと表示されます。いずれにしろあとで使うことになるので、ターミナルアプリをインストールして、ターミナルからコマンドでifconfigなどで調べてもいいでしょう。

※ここでは以降、例として接続した IP アドレスを「192.168.10.10」とします。

 

スマホなどのAndroid端末であてば、Android端末とLinuxPCをUSBケーブルで接続し、次のコマンドでポート番号 (listen_port ここでは例として5000とします) を設定します。

 

$ adb tcpip 5000

 

 

ポート設定が終わればUSB接続は外し、接続コマンドを入れます。

 

$ adb connect 192.168.10.10:5000 

 

 

これで以降はWiFi接続で操作ができます。

 

CuBox-iのAndroidでは、そもそもUSBの端末接続できません。そこで、ADBHOST 環境変数による方法をとります。 同じネットワークに接続したPC のコマンドプロンプト/ターミナルなどから ADBHOST 環境変数を設定します。

$ adb kill-server (すでに起動をかけているadbを一旦止める)

$ export ADBHOST=192.168.10.10

$ adb start-server (adbを再起動する)

 

 

 

これだけで接続は完了です。

(Windowsであれば環境変数は、set ADBHOST=192.168.10.10)

 

スマホやCuBox-iが接続されたかどうかを確かめます。

$ adb devices

 

 

 

List of devices attached

192.168.10.10:5000 device

 

 

 

のように表示されます。CuBox-iをネット越し接続すると

List of devices attached

emulator-5554 device

 

 

 

 のように表示されました。devicesで表示が出ないと接続できていません。

 

shellを起動します

$ adb shell

 

 

 

root@android $

 

 

のようにプロンプトが返ってきたら、見てお分かりのようにrootとしてshellが起動しています。

 

Android端末とPCがadb connectしている状態で

$ adb usb

 

 

コマンドを入力するとネットワーク越しのadb接続が解除されます。

 

これで肝のところは終了です。root権限で操作できます。

このあとは続けて、参考のためにadbについて参考になることをもう少しみていきます。

 

[WindowsPCで使う場合]

 

 以下はWindowsPCで使う場合です。

Android SDKサイトからダウンロードします。https://developer.android.com/sdk/index.html

「android-sdk_r24.0.2-windows.zip」(2015 Mar 3現在の最新)

ファイルを解凍し、フォルダー名を、path設定などの便宜上「android-sdk」とリネームしておく。

設置フォルダの場所にあわせてWindowsのpathの編集もします。

 

Android端末側の設定

1.Android端末本体の「設定」>「アプリケーション」>「開発{開発者向けオプション}」の「USBデバッグ」にチェックを入れる

2.USBケーブルでパソコンに接続。反応しない場合にはAndroid端末の電源を入れなおしてみる

3.Windows側で「新しいデバイスが見つかりました」が表示されたら「一覧または特定の場所からインストールする」を選択し「次の場所で最適のドライバを選択する」を選び、先ほどのパス\android-sdk\usb_driverを選択。デバイスのドライバがインストールできます。

 

 

[adbの使い方]

 

1.エミュレータ/デバイス上に直接Androidアプリケーションをインストールすることができます。

たとえばsample.apkというアプリケーションをインストールしたい場合は以下のようにします。

 

#  adb install sample.apk

 

 

 

2.開発環境上からエミュレータ/デバイス上にファイルをコピーすることができます。

たとえば、開発環境上にあるsample.pngという画像をSDカード上にコピーしたいときは以下のようにします。

 

# adb push sample.png /sdcard/

 

 

コマンド実行後、端末側のSDカードを確認してみてください。

sample.pngがアップロードされているはずです。

 

3.エミュレータ上にあるファイルを開発環境上にコピーすることが可能です。

 

# adb pull /sdcard/sample.png /tmp

 

 

 

4.エミュレータ、およびデバイスの動作ログを見たいときは以下のようにします

 

# adb logcat

 

 

Eclipseをわざわざ起動させなくてもログを確認できるのでとても便利です。

端末が複数ある場合、例えば以下のようにdevicesが複数表示される場合

$ adb devices

List of devices attached 

yuhua device

emulator-5554 device

 

 

同時に複数接続されているときは、どの端末を対象とするのかを指定します。

-d:USBで接続されている実機に対してコマンドを実行

-e:エミュレータに対してコマンドを実行

-s:指定したシリアル番号の端末に対してコマンドを実行

 

例として、USB接続機のSDカードにデータをコピーして、CuBox-iにアプリケーションをインストールしたい場合は以下のようになります。

$ adb -d push sample.png /sdcard

$ adb -e install something.apk 

xxx KB/s

pkg: /data/local/tmp/something.apk

Success

 

 

 

 

 

 

 

adb install <アプリケーション名.apk>

adb uninstall <com.application.packagename>

adb push <ローカルの転送したいファイル> <端末の転送先(/sdcard/など)>

adb pull <端末の取得したいファイル> <ローカルの転送先>

adb shell input keyevent <キーイベント>

adb shell input text  <文字列>

 textはEditTextなど文字入力可能なフィールドに文字を入力できます。keyeventは、キーイベント(ハードウェアキーの有無に限らず)の送信が可能です。例えばデバッグなどで仮想的にキー入力がほしい場合に重宝します 

[参考:Android Build Option の設定]

TARGET_BUILD_VARIANT

デフォルトはeng。開発時は eng で開発し、出荷時には user/userdebug に切り替えてビルドをする。

定義場所:/bionic/libc/Android.mk 

  1. user ・・・出荷用。デバッグ等のモジュールは取り除かれる。
  2. userdebug ・・・一部のデバッグ用フラグがONの状態。
  3. eng ・・・開発用。デバッグに必要なモジュールが組み込まれる。
  4. tests ・・・試験用。

eng

  1. インストールされるモジュールのタグが user、debug、eng になる。
  2. ro.secure=0 となる (root権限になる)
  3. ro.setupwizard.mode = OPTIONAL となる
  4. ro.debuggable=1 となる  (デバッグ可能状態)
  5. ro.kernel.android.checkjni=1 となる (JNIチェックが有効状態)
  6. adbコマンドが使える状態
tagPlaceholderカテゴリ: Cubox-i, ソフトウェアTIPS, Android, コラム, root取得

コメントをお書きください

コメント: 0

お問合わせフォームはこちら

メールはpetapicoshop@petapico.bizまで

適格請求書発行事業者登録番号のお知らせ


英徳社ホームページはこちら


1 日本国内への配送に適用されます。その他の国についてはこちらをご参照ください
概要 | 利用規約 | 返金条件と返品取消申請書 | 配送/支払い条件 | プライバシーポリシー | サイトマップ
ログイン ログアウト | 編集
  • ホーム
    • ショップからのお得情報
    • CuBox-i Seriesの情報
    • MicroSDの作り方
    • HummingBoard Seriesの情報
    • HummingBoard Edge/Gateの情報
    • IntelSoliPCの情報
    • windows10 IOTの情報
    • ClearFogの情報
    • MacchiatoBinの情報
    • fromSolidRunWebsite
  • アーティクル★
  • 製品情報
  • イベント情報
  • Petapico コラム
    • KODI
    • Cobox-i
    • HummingBoard
    • ソフトウェアTips
    • 外付け
    • カメラ
  • ダイレクトショップ
    • ダイレクトショップ iMX SoC
      • CuBox-Mセット
      • iMX8M Plus
      • iMX8M Plus Mate
      • CuBox-i1 OpenELECWiFi model
      • HummingBoard Pulseセット
      • CuBox-i1 OpenELEC セット
    • WAI WAIセール
      • Sheeva
      • D3
      • SMILE Plug
      • 第1世代CuBox|CuBox-PRO
      • CuBox-i1 セット
    • ダイレクトショップ LX2K
      • LX2160Aファミリー
    • ダイレクトショップ Marvell SoC
      • CEx7 CN9132
      • ClearFog
      • ClearFog Base
      • ClearFog Pro
      • MacchiatoBin Double|Single Shot
      • ClearFog GT 8K
      • MACCHIATObin ClearCloud 8K
      • SolidSense スターターセット
    • ダイレクトショップ intel SoC
    • ダイレクトショップ eRemote
      • eRemote
      • eSensor
    • 12V AC アダプター(PSE対応)
    • CuBox-i1 GeeXboXセット
    • CuBox-i1 OpenELEC+plugin
    • HummingBoard-Gate i1セット
    • HummingBoard-i2eX セット
    • HummingBoard-i4pro セット
    • CuBox-i2 セット
    • CuBox-i2 WiFiセット
    • CuBox-i2eX セット
    • CuBox-i2eX WiFiセット
    • CuBox-i4 Pro セット
    • HummingBoard-i2 セット
    • HummingBoard-i1セット
    • Application microSD Card for CuBox-i
    • Android microSD Card for CuBox-i
    • SolidPC
    • SolidPC SSD 32G
  • DL
    • Media Exposure
  • 英徳社について
  • 問い合わせ
閉じる