マカーの学生がEclipseからAndroid Studioに移行してアプリをリリースした話。
背景
1年半ほど前に、WindowsPCとEclipseを使ってAndroidアプリをリリースしていた。しかし、1年前に作業機をMacに変更したので、リリースしたアプリはほったらかしだった。ちなみにこれ(結局新しくリリースしたやつ、後述)。
ぷれれこ:録音機能付きプレゼンタイマー - Google Play の Android アプリ
今回なんとなく更新する気になった。そういえば以前自分で研究室後輩たちに向けてAndroid Studioがキテるから使えっていうプレゼンをしていたのを思い出した。今見るとクソみたいなプレゼンだ。
せっかくなのでEclipseからAndroid Studioに乗り換えて、アプリをアップデートしよう。
Android Studio
Android Studio と SDK Tools のダウンロード | Android Developers
これ。なんか昔使ってみようと思ったことがあったはずなんだけど、そのときはメジャーバージョンがまだ出てなかったから使わなかったような気がする。今は2.0のベータ版が出てるみたいなので、時代の流れを感じる。
なんかよくわからんが、Gradleというのを使うらしい。ライブラリの管理とかをEclipseではGUIでポチポチやってたけどそれをコードで書いている印象(あってる?)。なにやらリリース版とデバッグ版とか異なる機能を持つAPKも作成できるらしい、すごい。
とりあえずダウンロードしてインストール。数回クリックしただけで終わった。
なんでもうUpdateのお知らせ来てんだよ、最新版入れたんじゃねーのかよとか思いましたが、今回はスルー。
さてEclipseからプロジェクトを移行しよう。なんか色々外部ライブラリとか使ってるので、Import機能使うとバグりそうな気がした。
ということで、新規でプロジェクト作って順番に書き換えていくスタイルを採用。
Blank Activityでプロジェクト作って、元のプロジェクトからsrcやらresやらをドラッグアンドドロップすればなんかいい感じになった。
ただ、外部の.soファイルを使ってたんだけど、それがうまく読み込めてない現象が発生した。具体的には、System.loadLibrary()を読んでるとこで落ちてる。調べてみるとAndroid Studioでは、「app/src/main/jniLibs」に放り込む必要があるらしいが、放り込んでも落ちる。ふむ、もうちょっと調べてみるとjniLibs/armeabiに放り込む必要があったらしい。なんじゃこりゃ。とにかくやってみたらうまく動いたのでまあいいか。
移行で詰まったのはこれくらい。あとはIDEの使い方に慣れないといけない。
ということでコードをちょこちょこいじってアプリを修正。リリースできる段階に至った。
リリース
上のメニューのBuild/Generate Signed Apk... というところからリリース用APKを作成できるとあったので、やってみた。
qiita.com
前やった時のKeystoreファイルもちゃんと残してあるし、いけるだろ!・・・完全フラグでした。
なんかエラー出てて、作れない。AliasかPasswordが違うようだ。うーむ、わからん。Aliasはもう絶対わからん。無理だ。詰んだ。
しかたない、アプリの公開中止して、新しいアプリとしてリリースするしか無い!ということで、あたらしくKeystoreファイル作ってリリースしなおしました。くそう。今回はちゃんとAliasとPassword覚えました、大丈夫。
ということで、既存のユーザ様(100人くらいしかいないけど)には申し訳ないが、新しいアプリとして出したので、こちらをお使いいただきたい。ごめんなさい。
ぷれれこ:録音機能付きプレゼンタイマー - Google Play の Android アプリ
これからは、暇があればAndroidでもアプリを作ろう。せっかく環境整えたし。やっぱりiOSよりAndroidのほうが慣れてるからレイアウトを組んだりコードを書くのに詰まらないんだよなー。
おわり。