Android Dev Phone をSIMなし、Googleアカウントなしでアクティベート

今さらですが、Dev Phoneをゲットしました。

電池を入れて、早速起動すると NO SIM CARD 画面。MENUボタンを押してもうんともすんとも言わない、、、なんでかと思って調べて見ると、Dev Phoneは、アクティベーション(初期設定)が必要で、

通常、

SIMを挿す→Googleアカウントの設定

ということをしなくてはいけないようでが、SIMもGoogleアカウントもなくてもアクティベーションする方法があるようなので、その設定メモを記しておきます。

準備

USBドライバのインストール

sdkのフォルダ内にsdk_usbdriverというフォルダがあり、ここにドライバが入っています。
本体とPCをUSB接続して、インストールしておきましょう。

adbにパスを通す

ホストマシンでadbが使えるようにしておきます。

設定

アクティベートが完了したことにする。

ホストマシンから端末に入ります。

> adb shell

sqliteのファイルがあるので'device_provisioned'を1に編集し、リブートします

$ su 
# cd data/data/com.android.providers.settings/databases
# sqlite3 settings.db
sqlite>insert into system (name, value) values ('device_provisioned',1);
sqlite>.exit
#reboot
WiFi設定

起動すると、アカウント設定画面にいけるようになってます。が、通信手段がなく設定はできないのでホストからadb shellで端末に入り、WiFiの設定画面を起動します。

$su
# am start -a android.intent.action.MAIN -n com.android.settings/.Settings

dev phoneの端末画面がWiFi設定画面になるので、WiFiの設定をします。

SetupWizardをdisableにして、Googleアカウントを設定しなくてすむようにする

/data/system/packages.xmlを編集してSetupWizardをdisableにします。

ホストマシンにpackages.xmlをpullします。

adb pull /data/system/packages.xml .

packages.xmlのSetupWizardのところにdisableにする記述を追加します。下記+で始まってるところが追加するところです。

<package name="com.android.setupwizard" codePath="/system/app/SetupWizard.apk"  system="true" ts="1217592000000" userId="10010">
<sigs count="1">
<cert index="0" />
</sigs>
+<disabled-components>
+<item name="com.android.setupwizard.SetupWizardActivity" />
+</disabled-components>
</package>

端末にpushします。

adb push packages.xml /sdcard

端末で

# cd /data/system
# mv packages.xml packages.xml.bak
# mv /sdcard/packages.xml .
device_provisionedを再セットしておく。

'device_provisioned'が0に戻っちゃってるので、再度1に設定します。

sqlite> update system set value=1 where name='device_provisioned';
sqlite> select * from system where name='device_provisioned';
60|device_provisioned|1

端末を再起動します。

# reboot

以上で、設定に間違いがなければ普通に使えるようになります。