はつねの日記

Kinect, Windows 10 UWP, Windows Azure, IoT, 電子工作

Xamarinで作ったAndroidアプリをGoogle Playストアに登録する

Visual StudioでXamarinを使ってAndroidアプリを作成してストア登録するときの手順が最近(2017年3月末)変わりました。

以前の方法

以前であれば、[ツール]-[Android]-[Publish Android Application]メニューでダイアログを立ち上げて、そこでKeystoreなどを選択してapkファイルを作成しました。

そして、apkファイルを手動でGoogle Play Developer Consoleにアップロードして公開していました。

新しい方法

新しい方法では、ソリューションエクスプローラーでAndroidアプリのプロジェクトを右クリックして、そこで[Archive]を選ぶ方法に変更されました。

[Archive]メニューを選ぶとArchive Managerが立ち上がり、該当プロジェクトのアーカイブが進行します。

image

この時、ソリューション構成は[Release]を選択しておきましょう。

 

ビルドがうまく通ればapkファイルが所定のフォルダに作成されます。

image

ただし、このapkファイルは未署名のものなので、そのままではGoogle Playストアに登録できません。

[Distribute]ボタンを押して署名を行いましょう。

Select Channel

Ad HocなのかGoogle Playなのか配布方法を選びます。Google Playストア経由で配布するので[Google Play]を選択します。

image

Signing Identity

署名を行います。

Keystoreファイルがすでにあるならば[Import]ボタンをクリックしてファイルを取り込みます。

image

既存のKeystoreファイルがないのであれば[+]ボタンをクリックして、新規にKeystoreファイルを作成します。

image

Alias:別名など(プロジェクト名とか)

Password:パスワード

Validity:25以上の数字。1000とかでもOK。

Full Name:発行者のフルネーム

Organization Unit:部署名(個人なら入力しないでもOK)

Organization:会社名(個人なら入力しないでもOK)

City:市区町村区名

State:都道府県名

Country Code:JP

Google Play Accounts

Google Playストアに登録するアカウントを指定します。

image

Google PlayストアにログインしているIDとパスワードではなく、Google API AccessのClient IDとClient Secretを指定します。

image

これにはGoogle Play Developer Consoleにログインして「APIアクセス」のところでOAuthクライアントを作成してその認証情報からコピペします。

image

Google Play Track

ここまでできたら、アルファ版、ベータ版、段階的公開、製品版のどれで公開するかを指定します。

image

少し説明が必要そうなのは、段階的公開(Rollout)でしょうか。これはバージョンアップ版の公開を一度にすべてのユーザに対して公開するのではなく、徐々に公開していく方法です。

こうすることによって、致命的な障害があった場合に全台に影響がないようにします。また、新バージョンの最初の起動の時だけにアクセスするようなデータがあった場合の負荷分散にもなります。

段階的公開が必要なくらいの利用者数があるアプリとか夢のようですよね。

 

新しい公開方法は以上です。

以前に比べるとGoogle Play Developer Consoleへの配置までできるので便利ですね。

Visual Studio 2017がローンチされました

Visual Studio 2017がローンチされました。

インストールが早い!

Visual Studio 2017をインストールしようとしてまず驚くのはインストール時間の早さです。

「何をしたいか」を選ぶことで必要な機能のみがインストールされます。

起動が早い!

そしてインストールして起動するとさらに驚くと思います。とにかく起動が早い。

体感で半分くらいの起動時間になっているのではないでしょうか?

かっこいいコードに仕立てあげるまでが早い!

リファクタリングが強力になっていて、例えば、次のような初期化部分をかっこいい(どこからどこまでが初期化コードであるかがわかりやすい)形にリファクタリングする提案をしてくれます。

Use object initializer

ユニットテスト実施が早い!

ライブユニットテストという新機能が楽しいです。

ユニットテストを記述しておいて、それに対してグリーン(要はテストが通る)となるコードを書き始めたとしましょう。コードを書いていてビルドエラーがなくなるとユニットテストが自動的に行われてテストが失敗した行に「X」が表示されます。もちろん正しいコード(つまりグリーンになる)に修正すれば自動的に「X」は消えます。

これって、仕様を満たしたコードになった瞬間がわかるってことです。コードを書いている途中で実はグリーンになっていたのにそこに気づかずに書き進めてユニットテストしたらグリーンじゃなかったとなるよりも早く正解のコードにたどり着けると思います。

 

もちろん、これ以外にも様々な新機能があります。

使い始めたらVisual Studio 2015には戻りたくなくなりますし、「VS?いいんだけど起動遅いし」という今まで避けてきた勢も評価を改めることになるんじゃないかなって思いました。

 

 

Windows 10 Creators Update

RS2ことWindows 10 Creators Updateがいよいよ登場してきそうですね。

Insider ProgramのFirst RingにBuild 15042がきましたが、デスクトップ画面右下のビルド番号表示がきえており、いよいよという感じです。

f:id:hatsune_a:20170226165923p:plain

 

Creators Updateがくるとアプリ製作者としては何がいいかといえば、やっぱり「Compact Overlay」でしょう。
この機能があると、対応するUWPアプリはいわゆる常に最上位に表示するのようなことが可能になります。

便利ですね。

 

 

HoloLensの遠隔地Sharingを試す

HoloLabのみんなと遠隔地SharingをHoloLensで試してみました。

 

HoloLensは現実世界の中にCGなどのバーチャルなオブジェクトをミックスするハードウェアです。

上の写真は、リアルな部屋の中にCGオブジェクトが浮かんでいるようにみえますが、遠隔地にいるHoloLabのたけせんさんのアバターです。ですので、たけせんさんが動けばこのアバターも動きます。

 

一方、こちらは、また別の場所にいるHoloLabの前本さんのアバターです。

f:id:hatsune_a:20170221213413j:plain

もちろん、2人のそれぞれの部屋にも私のアバターがお邪魔しております。

 

このようにHoloLensのSharingを遠隔地で試すと、それぞれの部屋にいながら、バーチャル側ではアンカーからの相対位置を共有して、アバター同士で弾の打ち合いや当たり判定が正しく行うことができるようになります。

 

f:id:hatsune_a:20170221213618j:plain

FBでメッセージ交換しながらやってみましたが、レイテンシー的にもそれほどディレイが感じられないくらいでしたので、遠隔地Sharing、ふつうにアリだと思いました。

 

未来、一気に来ちゃった感がありますね。たのーいー。

 

Xamarin.AndroidやるならJava8とAndroid SDK Build-Tools 25以上で決まりっ!

Android開発はJavaな訳ですが、Android 6.0 (API 23)まではJava7、Android 7.0 (API 24)からはJava8が使えます。

では、Xamarinはというと2016年の夏くらいに、Android SDK Build-Tools 25あたりでちょっといろいろありましたが、今現在では、もう安定しているので、今から始めるならば、JDK8 (x86)をOracleのサイトからダウンロードしてきて、Android SDK Managerで、

と、必要なSDK Platformのインストールしておくといい感じですね。

 

 

こういう技術者でありたい

相手をdisることでしか自分の優位性を主張できないのはかなしい。
相手のことなど気にせずに自らや自らの製品の素晴らしさをきちんとつたえられる技術者でありたい。
 
それこそ最近は○×表すらも嫌い。○×表は採点ではなく多様性。よりお客様にフィットするものを選んでもらうためのもの。もし自社製品よりも他社の方がフィットするなら、その他社製品をお客様に進める技術者でありたい。
 
自社が目指していたところが他社の方がフィットしていたら、全力で悔しがり、相手をリスペクトし、精進できるような技術者でありたい。

2016年の資料公開歴

  1. 2016/04/01
    UWPアプリにおける正しいnetworking APIの使い方
    http://www.slideshare.net/akirahatsune/uwpnetworking-api
  2. 2016/04/02
    Windows 10Bluetoothコンパニオンアプリについて
    http://www.slideshare.net/akirahatsune/windows-10bluetooth
  3. 2016/05/01
    FPV LEGO MINDSTORM EV3
    http://www.slideshare.net/akirahatsune/fpv-lego-mindstorm-ev3-prototype
  4. 2016/05/14
    UWPによるマルチデバイス開発最新事情
    http://www.slideshare.net/akirahatsune/uwp-62008016
  5. 2016/06/12
    //build/ 2016現地で感じたクライアント開発の潮流
    http://www.slideshare.net/akirahatsune/build-2016
  6. 2016/09/24
    Microsoft Holographicってなに?来年、Windows 10に来るらしいぜ?
    http://www.slideshare.net/akirahatsune/microsoft-holographicwindows-10
  7. 2016/11/23
    HoloLens 2Dでもここまでできる
    http://www.slideshare.net/akirahatsune/hololens-2d