ラベル Android Studio の投稿を表示しています。 すべての投稿を表示
ラベル Android Studio の投稿を表示しています。 すべての投稿を表示

2015/08/15

[Android][Wear]リリースパッケージはモバイルとセットで

Android Wear対応のアプリをGoogle Playにリリースしたら、Googleからこんなメールが来ました。

////////////////////////

Hello,

Thanks for submitting your app for Android Wear. This is a notification that your app, Fairy in a watch, with package name com.nag.android.fairyinawatch, has not been accepted as an Android Wear app on Google Play.

Version Name: 1.0.0
Version code: 1
Production track: PRODUCTION

REASON(S) FOR EXCLUSION:


-Your app does not have Android Wear functionality that’s visible to the user.

If you’re adding wearable features to notifications, make sure that they are triggering when appropriate.

If you’re building a wearable app, there may have been issues packaging it. Be sure to:
- Include all the permissions declared in the manifest file of the wearable app in the manifest file of the mobile app. For example, if you specify the VIBRATE permission for the wearable app, you must also add that permission to the mobile app.
- Ensure that both the wearable and mobile APKs have the same package name and version number.
- Sign your app.
- Test your app on a variety of different Android Wear devices and configurations.

////////////////////////

私のアプリはWear上だけで動くものなので、Wearのapkをアップしていましたが、それを指摘されたようです。
エミュレータでは普通に動いていたのでなにも疑わなかったのですが、Wearアプリはモバイルアプリのセットとしてリリースしなければならないのですね。
Wearデバイスが直接Google Playに接続できない都合なのだと思います。
確かにWearはモバイルのサブ端末としてデザインされた側面が大きいとは思いますが、私のように単体で動くアプリだって用途にはあるはず、どんなものなんですかね。

仕方がないので、なにもしないモバイル用のアプリを作って、WearアプリをDependencyに加えてリリースパッケージを作りました。
実際にはAndroid Studioでプロジェクトを新規作成するときにPhoneとWearの両方にチェックを入れて作れば勝手に紐づけてくれるので何の手間もありませんでした。

私のアプリは何のPermissionも要求しないものでしたが、Permissionが必要なアプリの場合はダミーのモバイルアプリにも同じPermissionをつけなければならないようです。

またGoogleさんに怒られるかもしれませんが、無料でチェックしてくれてると思えば便利なものです。

2015/04/12

[Eclipse][Android Studio][Android]EclipseとAndroid Studioの比較

星取表を作って優劣を見える化するような情報を求めている方には申し訳ありません。
もっとぼやーっとした一般論です。

そもそも、Android StudioはAndroid専用のツールのようなので、私のように他のプラットフォーム用のJavaも書くエンジニアに強い魅力はありません。
Android Studioを導入したからと言ってEclipseを削除することはありません。
そういう意味では、Android Studioにちょっと不利なレビューになっているかもしれません。

EclipseもAndroid Studioもカスタマイズし放題のIDEなので、カリカリにチューンしてしまったらどっちがいいもないでしょう。なので、比較はデフォルト動作で行っていると思ってください。
上品プログラマとしてはよほどのこだわりがない限りそのツールのデフォルト設定で使うように心がけています
機種変更したり、他人のPCで作業したりしたときに困らないようにと身に着けた習慣です。
ひとり1ノートPCが当たり前の今では無用なこだわりかもしれませんが、私がこの仕事を始めたころはコード書くのは共有PCなんて時代だったのです。
また、デフォルト動作がそのツールの設計思想に一番馴染んでいて、設計者が一番使ってほしいスタイルに違いない、という思想もあります。

と、前ふりをしてなんですが、EclipseとAndroid Studioはすごく近い思想でできたツールのようで、見た目のデザインの違いを乗り越えると使い勝手はそんなに変わらないように思います。

一番ドラスティックな違いはリソースファイルの位置ですか。
Eclipseはプロジェクトのルートにsrcとresが並んでいましたが、Android Studioはsrcの下に階層が掘られて、ソースコードが格納されたjavaとresが並んでいます
この違いのため、残念ですがEclipseとAndroidで環境を共有することはできません。
リンクを作り直すのも面倒なので、GitHubなどのリポジトリは作り直しました。

比較するとEclipseはシンプルにわかりやすく、余計なことは極力行わないツール、Android Studioは効率の良い開発をするためにいろいろ気を回してくれるツールのようです。
Android Studioの気配が気に入るか、過剰に思うかで好みが分かれるのかなと思います。
無名クラスをラムダ式にたたんでくれるのはすごいなと思いましたが、気が付くまで気持ちが悪かったです。
私はC#もやるので気持ち悪いなぁと思いながら見過ごしていたのですが、Javaしか知らない人はびっくりするんじゃないんでしょうか。
リソースidを文字で置き換えて見せてくれるのも、便利なんだと思いますが、最初は気持ちが悪かったです。
どちらも私は、慣れれば使えそうなのでもうしばらく使ってみますが、気に食わなければ設定で無効にすることはできるでしょう、きっと。

Eclipseだとエラー行にカーソルを置くことで表示された修正候補はALT+Enterで起動します。
Enterをたたくのは結構勇気がいるので最初は戸惑いがありましたが、慣れると快適です。
予測変換について、Eclipseは一文字でも間違えるとギブアップしていたのですが、Android Studioは訂正すると付いてくる根性があります。

Eclipseはいい意味でも悪い意味でもやっていることが推論しやすくて気持ち悪さのない”ツール”でしたが、Android Studioは開発効率を上げるために様々な工夫が入っているツールなのかなと感じています。
24時間でアプリを組み上げる競技プログラマさんなんかはAndroid Studioに魅力を感じるのかもしれません。
上品プログラマとしては質素なEclipseが大好きなんですが、Android Studioに任せて最少手順でコードを書くという経験も捨てがたく、甲乙つけ難いところです。
公式ページがEclipseを削除してしまったので、新規の方がわざわざEclipseを使う必要はないと思いますが、Eclipseに馴染んでいる人が敢えて引っ越さなければならないモチベーションも今のところ感じられない、というのが2015年4月時点での結論となるでしょうか。

考えてみれば当たり前のことですが、EclipseもAndroid Studioも目的はAndroid用のコード生成なので、本質的にやることは変わりません。
昔は同じC++でもMFCとBoland Cでニュアンスが違っていろいろややこしかったりしたこともありましたが、そういうことはありません。
同じDalvik向けのクラスファイルを吐くエンジンを使っている2ツールに本質的な違いはないのです。
Android開発作業の中でツールに依存する部分というのは何%もないでしょう。そういう意味ではどちらを使うかというのは実に些細なお話だと思います。
ツールとしてEclipseを前提にしている情報がAndroid Studioでまったく使えなくなることはまずないでしょう。
所詮がところ同じコンパイラでDalvik向けのクラスファイルを吐く仕組みですから、言語としては同じものです。
すでにEclipseで開発している人がAndroid Studioに切り替えたからと言って、今までの知識が一夜にして無駄になることもありません。

結論、見るまえに跳べ。

[Android Studio][Android]Android Studioに引っ越す

牛にひかれて善光寺参り。
しばらくEclipseを使っていこうと思っていたのですが、PCが水没してしまいました。
作業環境を再構築しなければならなくなったのを機会にAndroid Studioを使ってみることにしました。

インストールするものは、公式ページからダウンロードしました。

https://developer.android.com/sdk/index.html

去年まではここからEclipseがダウンロードできたのに、前バージョンへのリンクすらありません。
前の記事でEclipseを推していた私ですが、あっという間にリンク先が切り替わってしまい、ご迷惑をかけた方がいらしたら申し訳なかったです。
なにがあったのか背景をご存知の方、教えてほしいです。

私の場合は前述のとおりPCクラッシュからのやり直しだったので、Javaのインストールから行いました。
Eclipse環境がある方はAndroid Studioのインストールをするだけで済むはずです。
ダウンロードしてインストーラに従ってボタンを押すだけでした。
Android ADTがパックになっていなかった時代のEclipse構築を思い返すと本当に簡単になりました。

続けて日本語化というステップを当然のように記述されているサイトも見受けられますが、上品プログラマーとしては英語のままで使われることをお勧めします。
開発ツールは最低限単語さえわかれば使えます。最低限の単語がわからないようならそもそもソフトウェアの開発に困るはずです。わかるくらいまでは勉強しましょう。
日本語化して余計なトラブルを呼び込むことはままありますし、日本語だけで仕事ができる時代じゃないんですよ、ほんとうに。

続けてEclipseのプロジェクトをAndroid Studioに変換します。
Android StudioのImportはEclipseをダイレクトに読み込めるようになっていますから、なんの心配もありませんでした。
ディレクトリ構造が変わり、Gradleなる意味不明のものががつっと加わりますが、そこらへんは当面お任せしておけばよい感じでした。
Gradleについてはいずれ知らなければならないもののような気がしていますが。

インポートできたので、ビルドしてみます。
私はここで軽くひっかかりました。
ここまでダウンロードの待ち時間を含めても30分程度で来てしまいましたし、まぁ、少しくらいはなにかありますよね。

エラーコードを読んでみると、くだんのGradleさんがお怒りになっている様子でした。正直少しやばいぁなと思いました。
エラーコードをそのまま検索エンジンにコピペすると、Android Studioのスタートアップに困っている人のためのページがいくつもヒットしました。
同じ思いをしている人って結構いるんだなぁと思うと少し気持ちが楽になりました。

残念ながらそのものずばりの解決策は見当たらなかったのですが、Gradle Scriptに問題があるらしいなと目星をつけてよく見直してみると、じつはなんのことはない、Android Studioがエラーの起こっている行を赤いアンダーラインで表示してくれていました。
私の場合はAndroidのライブラリが2つ宣言されていて、ダブってるよ?というものだったので、片方をコメントアウトすることで無事ビルドが通るようになりました。

build.gradle(Module:app)
dependencies {

//    compile 'com.android.support:support-v4:20.0.0'
    compile files('libs/android-support-v13.jar')
}

オリジナルのプロジェクトのターゲット設定に手を加えていたので、そのせいでAndroid Studioが誤認識したのだと思います。
わかってしまえば単純明快です。
私の場合、前の環境をロストしてしまっていたのでやりませんでしたが、Eclipse側のお作法を直してインポートしなおすという手もあるのかな、と思いました。
いずれにしてもいえることは、お作法通りに作っていればツールは何とかしてくれるものだということ。大抵の場合問題はコーダー側にあります。

別のプロジェクトでも別のエラーが出ました。
今度は冷静に情報を観察することができました。
今度もライブラリファイルに問題があるようでしたが、上の例のように2つ宣言されているというものではありませんでした。
問題の行のフローティングメッセージを見ると、バージョンが"20"では低すぎるようなことが書いていたので、21に書き換えたところ、ビルドできるようになりました。
素直にエラーコードとエラーメッセージを読めば対応できるみたいです。

私の感覚では、EclipseからAndroid Studioへの引っ越しは”簡単”でした。