[メモ] ASUS Tinker Board : ラズパイ公式LCDでAndroid OSを使ってみる


TinkerBoardでは、公式から、Androidイメージ(249.75MB)が配布されている。
2017/8/18のリリースのTinkerOS_Android V13.11.0.5で、ラズパイタッチスクリーンに対応した(> 11. ts: Add the ft5406 touch driver for tinker board.) ようなので、試してみる。
ダウンロードページ: https://www.asus.com/uk/Single-Board-Computer/Tinker-Board/HelpDesk_Download/
P

  • 初回起動時の画面

  • Playストア アプリ(下段右から3番目)を導入してみた

  • Minecraft PEも快適 (800x480の解像度だし...)

概要

  • ラズパイ公式LCDが使えるとのことで、TinkerBoardで、Androidを使用
  • opengapps から、PlayStore を入れる。(ラズパイ3で、adbツールを使用)
    tinkerboard forumのOpen GApps installation how-toにかかれている方法。
  • ラズパイタッチスクリーンって、マルチタッチ対応してたのか!?(MinecraftPEで、左手で方向キーを押しながら、右手での操作に反応する)
  • 画面サイズ小さいし(800x480)、速いmicroSDを使ったので、快適。
  • (起動時の Rockchip kernel ってのかっちょよくない...)

  • 非対応

    • GPSなし
    • 傾きセンサーなし
    • カメラなし
    • 音声入力??
  • 未対応??

    • 音声出力?(イヤホンジャックの) ... 今回は、Bluetoothスピーカー使用

# Android系は詳しくないので...

環境

  • ASUS Tinker Board:

    • OSイメージ : 20170721tinkerboard-androidmarshmallow-userdebug-v131105.zip
    • ディスプレイ: RASPBERRY PI TOUCH DISPLAY
      7インチ(800x480)のタッチスクリーンモニター。DSI接続。
    • サウンド: Bluetoothスピーカ使用 (イヤホンジャックから、音が出ない???)
    • ネットワーク: 有線・無線どっちでもOK。
    • microSD: SanDisk Extreme 16GB UHS-I/U3 Micro SDHC
      速いのを使うと快適

       
  • Raspberry Pi 3 : PlayStore Appを入れるのに、adbツールで使用する。

    • OS: 2017-08-16-raspbian-stretch-lite.zip
  • microSDへイメージ焼き込みは、Etcher を使用。

手順

  1. TinkerBoard側

    1. イメージを焼く。Etcher使用時、↓の警告が出るが、[Continue]を押して、続ける。
    2. TinkerBoard本体に、
      • microSDをにいれ、
      • ラズパイタッチスクリーンとリボンケーブルで接続して、
      • 電源オン。(電源供給のUSBを挿す。液晶への電源供給も忘れずに.)
    3. あとは、起動すれば、Android端末として使えます。
  2. Raspberry Piを使用して、Playストアアプリの導入

    1. Raspbian-stertch-liteを使用 (Etcherで焼いて、起動)
    2. ログインして、ツールをインストール

      全コピペではできないよ
      # ツールのインストール
      sudo apt-get install -y android-tools-adb android-tools-fastboot git rsync lzip 
      
    3. adbを使用する

      全コピペではできないよ
      # openapps からファイルを取得. ver 6.0のpicoでいいらしい.
      cd ~
      wget https://github.com/opengapps/arm/releases/download/20170824/open_gapps-arm-6.0-pico-20170824.zip
      mkdir -p ~/gapps/{pkg,tmp,sys}
      unzip ./open_gapps-arm-6.0-pico-20170824.zip  -dgapps/pkg
      cd ~/gapps
      # Extract tar.lz
      for x in `find . -name "*.tar.[g|l|x]z" -o -name "*.tar" `; do tar xvf $x -C ~/gapps/tmp ; done
      # アップロードするファイルの準備
      # 以下 doneまでこぴぺ。
      cd ~
      for dir in gapps/tmp/*/ ;
          do
              pkg=${dir%*/}
              dpi=$(ls -1 $pkg | head -1)
              echo "Preparing $pkg/$dpi"
              rsync -aq $pkg/$dpi/ gapps/sys/
          done
      # adbにて接続。TinkerBoardのIPアドレスを入れる。
      adb connect [ip of tinkerboard]
      # ルートに変更。かえってこなそうだったら、Ctrl-C 。
      adb root
      # 再接続
      adb connect [ip of tinkerboard]
      adb remount
      # ファイルをアップロードする... 待つ。
      adb push gapps/sys/. /system/.
      # シェルを開いて、
      adb shell
      # 以下のコマンドでAndroid内のファイル削除?したら、Ctrl-Dを押して抜ける
      rm -rf /system/priv-app/PackageInstaller
      # 再起動
      adb reboot
      
    4. 再起動後

      全コピペではできないよ
      ### 再起動後
      # adbにて接続
      adb connect [ip of tinkerboard]
      # rootに変更。かえってこなそうだったら、Ctrl-C 。
      adb root
      # 再接続
      adb connect [ip of tinkerboard]
      # シェルを開いて、
      adb shell
      # 以下実行して、CTRL-D
      pm grant com.google.android.gms android.permission.ACCESS_COARSE_LOCATION
      pm grant com.google.android.gms android.permission.ACCESS_FINE_LOCATION
      pm grant com.google.android.setupwizard android.permission.READ_PHONE_STATE
      
      # 再起動
      adb reboot
      

その他

  • 電源オフは、Powerアプリをタップ。

  • gappsを導入後と、時計が表示される

  • Chrome,YoutubeアプリはOK.

  • Googleマップ、Earth アプリ、OK。現在位置情報は、Wifiベースだよね?

  • アングリーバード2は、インストールができなかった

  • ASPHALT 8 をインストールした。が、本体を傾けてのハンドル操作ができなかった。(1.4GBくらいファイルもダウンロードしたのに...)

  • アプリケーションの削除は、アイコンを長押しして、左のほうのゴミ箱に持っていって、色が変わったら離す。

ログ

  • adb 実行例

    実行例
    pi@raspberrypi:~ $ adb connect 192.168.22.62
    * daemon not running. starting it now on port 5037 *
    *** Error in `adb': free(): invalid pointer: 0x00434b00 ***
    ADB server didn't ACK
    * failed to start daemon *
    error: cannot connect to daemon
    pi@raspberrypi:~ $ adb connect 192.168.22.62
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    connected to 192.168.22.62:5555
    pi@raspberrypi:~ $ adb root
    restarting adbd as root
    ^C
    pi@raspberrypi:~ $ adb root
    adb: unable to connect for root: no devices/emulators found
    pi@raspberrypi:~ $ adb connect 192.168.22.62
    connected to 192.168.22.62:5555
    pi@raspberrypi:~ $ adb root
    adbd is already running as root
    pi@raspberrypi:~ $
    adbd is already running as root
    pi@raspberrypi:~ $ adb remount
    remount succeeded
    pi@raspberrypi:~ $ adb push gapps/sys/. /system/.
    [ 22%] /system/././priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk: 15%
    ..
    ..
    .. 
    /system/././: 30 files pushed. 0 files skipped. 0.7 MB/s (98478615 bytes in 132.585s)
    pi@raspberrypi:~ $ adb shell
    root@rk3288:/ # rm -rf /system/priv-app/PackageInstaller
    root@rk3288:/ # ^D
    pi@raspberrypi:~ $ adb reboot
    pi@raspberrypi:~ $
    
    #
    #再起動後
    #
    pi@raspberrypi:~ $ adb connect 192.168.22.62
    connected to 192.168.22.62:5555
    pi@raspberrypi:~ $ adb root
    restarting adbd as root
    ^C
    pi@raspberrypi:~ $ adb connect 192.168.22.62
    connected to 192.168.22.62:5555
    pi@raspberrypi:~ $ adb root
    adbd is already running as root
    pi@raspberrypi:~ $ adb shell
    root@rk3288:/ #
    
    pm grant com.google.android.gms android.permission.ACCESS_COARSE_LOCATION
    pm grant com.google.android.gms android.permission.ACCESS_FINE_LOCATION
    pm grant com.google.android.setupwizard android.permission.READ_PHONE_STATE
    
    root@rk3288:/ # ^D
    pi@raspberrypi:~ $ adb reboot
    pi@raspberrypi:~ $