NIPPON Tabletを改造して格安Androidタブレット化する方法

元はてんぷ氏のブログでRoot化やGappsの導入方法があるのですが、これだと一部抜けてたりするので僕自身がてんぷ氏に聞いてわかりやすくしたものをここに書いておきます
必要なもの
・Windows、MacOS、Linuxのどれかが入っているパソコン
・データ通信対応USBケーブル(充電専用だと認識しないので注意!)
・NIPPON Tablet
・根気とパソコンの知識
注意
Root化は端末を破壊する恐れがあるので自己責任でお願いします
最初のブートローダーアンロックをする段階でいままでのタブレットのデータは全削除されます
改造手順
1 ADBの導入
既にadb環境が整っている(コマンドからadbを入力してちゃんと動く環境)場合はすっ飛ばしても構いません
Windowsの方は僕が少し前に自作したツールを使えば全自動でインストールされます
[blogcard url="https://github.com/nerrog/Easy-ADBuilder/releases/latest"]
Linuxを使ってる方は各ディストーションによってパッケージ管理ツールが違いますので調べてください
ubuntuなどのdebian系OSは「sudo apt install android-tools-adb」で入ったような気がします
2 ブートローダーアンロック
adbを導入したらタブレットの電源を入れて開発者オプションからUSBデバッグを許可してUSBケーブルでPCと接続してください
そうしたらコマンドプロンプトやPowershellなどのターミナルを開いて
> adb devices
< これで端末側に許可しますかというダイアログが出たら許可する >
> adb reboot bootloader
< 端末で再起動がかかって左下に小さくFASTBOOT Modeの表示が出るまで待つ >
> fastboot oem unlock
< データ全削除されるけど良いですかという表示が出るのでボリュームUpだかDownだかでyesを選択 >
よくわからんアプリ無効化
僕は起動時に中国語のアプリが電話と位置情報の権限の要求してきたので速攻拒否しました(怖い)
設定アプリからアプリに進んでNIPPON PAY系のアプリは全部無効化しましょう
ランチャーアプリは設定アプリでは無効化出来ないのでadbで強制的に無効化します
> adb shell pm uninstall -k --user 0 com.nippon_pay.launcher
Magisk導入
これをいれることによってRootできます
昔Root化といったらSuperSUのイメージだったんですが今はMagiskが主流なんですかね…?
rootはmtk-suを使って奪取します
mtk-suについてはてんぷ氏のブログで少し触れられています
mtk-suのバイナリをダウンロードします
[blogcard url="https://forum.xda-developers.com/android/development/amazing-temp-root-mediatek-armv8-t3922213″]
このページのDOWNLOADという赤文字の下にRelease〇〇ってのがあるのでそれをダウンロードして解凍します

解凍したらarm64というフォルダに進だらmtk-suバイナリがあるのでこのarm64ディレクトリをターミナルで開いて
> adb push mtk-su /data/local/tmp
> adb shell chmod +x /data/local/tmp/mtk-su
> adb shell /data/local/tmp/mtk-su -c dd if=/dev/block/mmcblk0p7 of=/data/local/tmp/boot_native.img
> adb shell /data/local/tmp/mtk-su -c dd if=/dev/block/mmcblk0p20 of=/data/local/tmp/system.img
> adb shell /data/local/tmp/mtk-su -c chown shell.shell /data/local/tmp/boot_native.img
> adb shell /data/local/tmp/mtk-su -c chown shell.shell /data/local/tmp/system.img
> adb pull /data/local/tmp/boot_native.img
> adb shell mv /data/local/tmp/boot_native.img /sdcard
こんな感じでbootとsystem領域をバックアップしておきます(system領域のバックアップは容量が大きくて長いです)
bootイメージはパッチを当てるために/sdcardに移動しておきます
MaiskManagerをダウンロードしてインストールします
[blogcard url="https://github.com/topjohnwu/Magisk/releases/download/manager-v7.5.1/MagiskManager-v7.5.1.apk"]

起動したらインストールを押してselect and Patch a Fileをタップしてさっき/sccardに移動したimgファイルを選択します
これでパッチが当たるのでPCで、
> adb pull /sdcard/Downloads/magisk_patched.img
> adb reboot bootloader
> fastboot boot magisk_patched.img
これで正常に起動するか確認してください
確認できたら
> adb reboot bootloader
> fastboot flash boot magisk_patched.img
> fastboot reboot
でboot領域にflashして再起動するとRoot化されています
dm-verity
これを解除しないと/system領域に書き込めないそうなので解除します
[blogcard url="https://flashify.org/"]
[blogcard url="https://forum.xda-developers.com/android/software/universal-dm-verity-forceencrypt-t3817389″]
からzipをダウンロードして解凍してapkをインストールしてFlashifyを起動します
xdaのUniversal DM-Verity, ForceEncrypt, Disk Quota Disablerはzipを解凍せずに端末に保存しておきます

初回起動時はスーパーユーザー権限要求されるので許可してあげます
Flash Zipを選択Choose a FileからさっきのZipを選択
RecoveryはCWMかTWRP or Philzか聞かれるのでTWRP or Philzを選択してflashします

これでdm-verityの無効化は完了です
Playストアを使えるようにする
[blogcard url="https://opengapps.org/"]
これはお好みで
OpenGappsダウンロードページでARM64、7.0、nanoを選択してダウンロードします

解凍したらCoreフォルダに移動して中のlzファイルを全部解凍します
解凍方法はLinuxだとtarコマンドでできるらしいですがWindowsはほんとにわからなかった(7zipもだめだった)のでこのためだけにWinRARの体験版入れました(憤怒)
解凍したら検索なりつかって
GoogleLoginService.apk、GoogleServicesFramework.apk、Phonesky.apk、PrebuiltGmsCore.apk を抜き取ります(一部複数フォルダにあるものはnodpiディレクトリにあるapkを使用してください)
そうしたら一箇所に集めてそのディレクトリでターミナルを開いて
> adb push GoogleLoginService.apk /data/local/tmp
> adb push GoogleServicesFramework.apk /data/local/tmp
> adb push Phonesky.apk /data/local/tmp
> adb push PrebuiltGmsCore.apk /data/local/tmp
これでtmpに一時的に移動します
次に
> adb shell
$ su
$ mount -o rw,remount /system
$ mkdir /system/priv-app/GoogleLoginService
$ mkdir /system/priv-app/GoogleServicesFramework
$ mkdir /system/priv-app/Phonesky
$ mkdir /system/priv-app/PrebuiltGmsCore
suでスーパーユーザー権限を取得してsystemをrwで再マウントします
そこからmkdirでapkを流し込むディレクトリを作成します
そのまま
$ mv /data/local/tmp/GoogleLoginService.apk /system/priv-app/GoogleLoginService
$ mv /data/local/tmp/GoogleServicesFramework.apk /system/priv-app/GoogleServicesFramework
$ mv /data/local/tmp/Phonesky.apk /system/priv-app/Phonesky
$ mv /data/local/tmp/PrebuiltGmsCore.apk /system/priv-app/PrebuiltGmsCore
これでさっきtmpに一時的に置いてたapkをすべて移動させます
そのまま
$ chmod 755 /system/priv-app/GoogleLoginService
$ chmod 755 /system/priv-app/GoogleServicesFramework
$ chmod 755 /system/priv-app/Phonesky
$ chmod 755 /system/priv-app/PrebuiltGmsCore
$ chmod 644 /system/priv-app/GoogleLoginService/GoogleLoginService.apk
$ chmod 644 /system/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk
$ chmod 644 /system/priv-app/Phonesky/Phonesky.apk
$ chmod 644 /system/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk
$ exit
> adb reboot
これで権限を付与して再起動させます
PCの作業は以上です
あとは設定アプリからアプリ→右上のメニューからシステムアプリを表示ってところにPlayストアや開発者サービス等が入っていると思います
あとはPlayストアを起動してログイン、試しにアプリを入れてみてきちんと入れば作業終了です
お疲れさまでした
性能
YouTube見たりとかなら普通に使えます(自己基準)
画面解像度が800×1280なのでYouTubeアプリで720pまでしか選択出来ません
ゲームは厳しいかも
スピーカーの音質は死んでるのでイヤホンジャックやBluetoothを使って別途イヤホンやヘッドホン、スピーカーのを繋げば大丈夫だと思います

ブートロゴの変更について
標準のロゴがクソダサいと感じたのでAfter Effectsを使って変えました
普通に/system/media/bootanimation.zipにあるので800×1280の連番画像作ってあげて無圧縮で圧縮して投げれば動きます
ディスカッション
コメント一覧
まだ、コメントがありません