Garmin 製のウォッチフェイスが海外製のものが多く、デザインもあんまり好みのものがないため、自作できないかと思い調査を開始
TODO
- サイドローディング試す
- ForeAthlete は無理かも?なければフォーラムで聞く
- 最終的にサンプルをストアにアップする
What’s garmin
https://ja.wikipedia.org/wiki/%E3%82%AC%E3%83%BC%E3%83%9F%E3%83%B3
- アメリカ合衆国で創業されたGPS/GNSS機器メーカー
- 製品
- ウェアラブル
- スマートウォッチである ForAthlete / Forerunner などはここに属する
- 自動車用機器
- 自転車用機器
- 携帯機器
- 航空用機器
- アウトドア機器
- ウェアラブル
Read Developer Site
なんか色々作成できるっぽい。
Connect IQ™ SDKがそれっぽい
Develop watch faces, data fields, widgets and apps for our wearable devices.
Connect IQ
https://developer.garmin.com/connect-iq/overview/ ざっくり注意書きを読む
Downloading SDK
-
- Download the SDK manager.
- Accept & Download for Mac
- SDK のダウンロード
- DL後アカウントが必要らしい
- https://apps.garmin.com/login
- 開発用メール
- 仮パスワードMで登録
- 一応、 linux もあるけどこれは Ubuntu 専用かも? そろそろ Getting Started をみた方が良さそうな気がしてきた
Getting Started 確認
https://developer.garmin.com/connect-iq/connect-iq-basics/getting-started/ Monkey-C って何? →まさかの独自言語…???? どうやら Garmin 開発で使ってるぽい。 Java のラッパー? http://torufurukawa.blogspot.com/2016/07/monkey-c.html
どうやら公式は VS Code 使えとのことなので VS Code 使う。
The Monkey C Visual Studio Code Extension
Monkey C
をインストール
Command + Shift + C で色々メニューが選べる
_Monkey C: Verify Installation_
を実行
ビルド時にアプリに署名するための鍵が必要らしい
- RSA 4096 bit private key
以下に保存
Developer key has been set as /Users/hogehoge/.ssh/developer_key.
Your First App
https://developer.garmin.com/connect-iq/connect-iq-basics/your-first-app/
- Command + Shift + P
- New Project
- 色々設定したらプロジェクト作成される プロジェクト中身
- bin : バイナリファイル + デバッグファイル
- resources : リソースコンパイラに渡す素材系ファイルとか位置情報とか
- manifest.xml : APP のプロパティ
テストビルド
- Command + Shift + P
- Edit Products で対応デバイスを追加
- source の
.mc
ファイルを選択して Run から実行可能 - エミュレータが起動する
サイドローディング(テスト用に正規ストア以外からアプリを導入すること)
-
Command + Shift + P
Build for Device
- 出力フォルダを選択
- 生成された RPG ファイルを デバイスの GARMIN/APPS ディレクトリにコピーする
-
「実行とデバッグ」でエミュレータを起動して、さらにコードを起動することで起動するっぽい?
-
GettingStartView 部分で View を定義している
仕様
manifest
- applicationID
- 対象デバイスリスト
- 必要権限リスト
- 対象言語リスト
- 対象 barrelsリスト ?
- “Monkey Barrels” : カスタムの C 言語ライブラリのこと
参考
https://qiita.com/junjun0011/items/b7da05a08ff151047ff0 https://www.narinarissu.net/entry/20160528/1464444328 非常に助かりました。