どんちゃんのひまつぶし

とあるスタートアップにいるエンジニアの雑多ブログ

Android Wearのウォッチフェイスのソースコードをビルドする(その1)

f:id:d0nchan:20180515214216j:plain
タイトルが長い。
「配布されたソースコードからウォッチフェイスをビルドしてWearOSにインストールする」手順をまとめます。

導入するウォッチフェイス

www.dream-seed.com
「Google I/Oに合わせて、これいいな!」と思ったのに、GooglePlayに公開されてなく、GitHubでソースコードが公開されているので、Android Studioからビルドしてインストールにチャレンジ。

ソースコードをダウンロード

こちら(https://github.com/StringMon/io18watchface)からソースコードをzip形式で丸ごとダウンロードします。
f:id:d0nchan:20180510221609j:plain:w400
ダウンロードしたソースコードはわかりやすい場所に解凍しておきます。今回はダウンロードフォルダに解凍。

Android Studioにインポート

f:id:d0nchan:20180510222850j:plain:w400
下から二つ目の「プロジェクトのインポート(Gradle,Eclopse,ADT,etc)」をクリックし、先ほど解凍したディレクトリを指定するとインポートできます。

Gradleの同期失敗

そのままインポートすると、Gradle*1に関してエラーが発生します。

Gradle 同期失敗: Could not read script 'C:\Android\Common\apk_naming.gradle' as it does not exist.
		Consult IDE log for more details (Help | Show Log) (1s 484ms)

僕はここで躓きました。現役モバイルエンジニアの友人に助けを求めました。

io18watchface-master/app/build.gradle

の28行目をコメントアウトするとビルドが通るようになりました!

エミュレータの起動/実機をADB接続

エミュレータにインストールする場合

公式リファレンス(
https://developer.android.com/training/wearables/apps/creating?hl=ja
)を参考にエミュレータを立ち上げ、インポートしたプロジェクトを仮想デバイスで実行します。

実機にインストールする場合

私の場合は直接インストールするのでこちら。
Q EXPLORISTは直接PCと接続ができないのでBluetoothを使い、母艦のスマホ経由でADB接続します。
公式リファレンス(
https://developer.android.com/training/wearables/apps/debugging?hl=ja
)を参考に接続します。英語ですがこれぐらいは読んでください(笑)

adb forward tcp:4444 localabstract:/adb-hub

を打った時に

more than one device/emulator

なエラーが出たときはエミュレーターを終了してください。

adb connect 127.0.0.1:4444

を打つと
f:id:d0nchan:20180510233159j:plain:w400
端末側にダイアログが出てくるので許可してあげてください

実行

今度は

Error running 'app': デフォルトのアクティビティーが見つかりません

というエラーが出ました。

こちらも友人モバイルエンジニアにヘルプを求めました。
AndroidアプリのプログラムはMainActivityメソッドから動くらしく、今回インポートしたこのソースコードはテーマ情報しか入っていないらしい。

そりゃ動かんわ!

はい、ということで、今回はここまで。
次回はMainActivityを作って、そこにこのテーマを乗せます。

*1:Android Studioのビルドシステム