Android Studioを使ってみてハマったこと
Androidの開発環境は、ずっとEclipse + ADTを利用していましたがAndroid Studioが良くなっているぽいので使ってみよう!と思いたってインストールしてみたらいきなり2つばかしハマってしまったので記事書いておこうかなと。
Android Studioインストール
GoogleのDeveloperサイトからDLします。
[ogp]https://developer.android.com/sdk/installing/studio.html[/ogp]
バージョンは、Beta v0.8.0 でした。dmgファイルがダウンロードできるのでアプリケーションフォルダにコピーします。
さて、起動するのですが option+click で"開く"としても全く反応がありませんでした。
何が起きているのかさっぱりわからないので、ターミナルから以下を直接叩いてみます。
/Applications/Android\ Studio.app/Contents/MacOS/studio
なんかエラーがでてました。
[JavaAppLauncher Error] CFBundleCopyResourceURL() failed loading MRJApp.properties file
[JavaAppLauncher Error] CFBundleCopyResourceURL() failed while getting Resource/Java directory
[LaunchRunner Error] No main class specified
[JavaAppLauncher Error] CallStaticVoidMethod() threw an exception
Exception in thread "main" java.lang.NullPointerException
at apple.launcher.LaunchRunner.run(LaunchRunner.java:113)
at apple.launcher.LaunchRunner.callMain(LaunchRunner.java:51)
at apple.launcher.JavaApplicationLauncher.main(JavaApplicationLauncher.java:61)
私の環境では、java7をインストールしていたのですがAndroid Studioを動かすのにjava6も必要だという記事を見かけたのでインストールしてみます。
brew caskを使っているのでBrewfileに以下を記載。
cask install --appdir=/Applications java6
インストール実行します
brew bundle
これでjava6のインストールができたので改めてAndroid Studioを起動してみます。
できました!
実機にサンプルアプリをインストールする
次に出くわしたのが、adbで接続したときにunauthorizedとなってしまってpushとかinstallができませんでした。
Android SDK Tools, Android SDK Platform-toolsなどをアップデートして、端末側でUSB debuggingのチェックON/OFFしてたら解消されました。
根本的な原因はわからず。。。
実機にサンプルアプリをインストールする ~ その2
デバイスがちゃんと認識されたし、これでいけるだろうと思ったらまた違うエラーが発生。
Failure [INSTALL_FAILED_OLDER_SDK]
なんだかSDKのバージョンと実機のAndroidバージョンで不整合があるのかなと思い確認していきます。
端末は、Galaxy NexusでAndroid version 4.2.2
ソースの方は、、、AndroidManifest.xmlに記載がない。。
ちょっと調べたらどうやら、build.gradleというファイルに書いてあるらしい。
デフォルトが以下のような記述だったのですが、
android {
compileSdkVersion 'android-L'
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.example.yuichiichimura.myapplication"
minSdkVersion 15
targetSdkVersion 'L'
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
compileSdkVersion、targetSdkVersionの記述を20にするといいらしい記事を発見してためしてみます。
[ogp]http://stackoverflow.com/questions/24465289/android-studio-failure-install-failed-older-sdk[/ogp]
できました。。
エミュレータは起動したがランチャーが落ちる
今度はエミュレータも動かしてみようと思い、AVD Managerで作成します。
RAMですが、1024だと私の環境ではOutOfMemoryErrorが発生して、ランチャーが落ちてしまってまともに動きませんでした。
512でうまく動いているのでこの設定で様子見ます。
エミュレータが重い
この記事のとおりやったら起動が数秒になりました。すばらしい!
[ogp]http://saku-java.be-ourselves.jp/2014/05/18/intel-x86-android-emulator-setting/[/ogp]
ひとまず以上ハマった事レポートでした。