Android開発環境の準備はエラーが多発し、思いの外時間がかかりました。各Errorとも、Stackoverflowでup voteが結構ついていたので、少しでもこれから構築する方の助けになれば。
Mac OSX環境で、スマートフォンアプリ開発初心者が、Cordova(PhoneGap)と、AngularJSベースのIonic Frameworkを使い、JavaScriptでiPhone/ Android両対応のネイティブ+HTML5 ハイブリッドモバイルアプリを開発し、iTunes App StoreおよびGoogle Playで公開するまでを何稿かに分けてカバーします。
- Cordova(PhoneGap)準備、iOSエミュレータ起動まで
- Ionic Framework準備、iOSエミュレータ起動まで
- Ionic Creator Beta入門
- Ionicでアイコン、スプラッシュスクリーン
- IonicでAndroid開発準備
- -随時追加予定-
#Android版のビルドとエミュレータテスト
##Android Studioのインストール
2013年のGoogle I/Oから1年と少し、2014年12月8日にめでたくVer.1.0がリリースされ、
Eclipse+ADKだけでなく、Android Studioが選択肢に加わりました。
本編ではVer. 1.0.1のインストール手順を追います。
参考記事: Download Android Studio and SDK Tools | Android Developers : http://developer.android.com/sdk/index.html
License Agreementは、android-sdk-license, intel-android-extra-licenseの2つでAcceptを押します。
するとNextが押せるようになります。
##Android SDKのパス設定
Configure > SDK Managerを立ち上げると、上段にSDKパスが表示されている。
vimなどで下記を~/.bash_profile末尾に追加します。
(参考: Android SDK - Ionic Components : http://ionicframework.com/docs/ionic-cli-faq/#android-sdk)
$ vim ~/.bash_profile
export PATH=${PATH}:/Users/<User Name>/Library/Android/sdk/platform-tools:/Users/<User Name>/Library/Android/sdk/tools
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=${JAVA_HOME}/bin:$PATH
export PATH=/usr/local/bin:$PATH
上記変更を反映する。
$ source ~/.bash_profile
任意のディレクトリで下記を実行し、Android SDK Managerが起動したらOKです。
$ android
ionic platform androidを確認する
初回は下記エラーに遭遇しました。
Error: Please install Android target "android-19".
これはAndroid 4.4.2 (API 19)を指すため、LicenseにAgreeし、インストールします。
参考: osx - Cordova 3.5.0 Install Error- Please Install Android Target 19 - Stack Overflow : http://stackoverflow.com/questions/24931155/cordova-3-5-0-install-error-please-install-android-target-19
それによりionic platform androidのエラーは解消しました。
##ionic emulate androidを確認する
再びエラーに遭遇します。
Error: Failed to run "ant -version", make sure you have ant installed and added to your PATH.
Apache Antのインストール
下記を参考にします。
Error executing command 'ant' on Mac OS X 10.9 Mavericks when building for Android with PhoneGap/Cordova - Stack Overflow : http://stackoverflow.com/questions/19495610/error-executing-command-ant-on-mac-os-x-10-9-mavericks-when-building-for-andro
MacportsまたはHomebrewでApache Antをインストールする。
$ brew install ant
または
$ port install apache-ant
###Intel X86 emulator acceleratorのインストール
インストール後、ionic emulate android
で次のエラーが発生。
Waiting for emulator...
emulator: ERROR: x86 emulation currently requires hardware acceleration!
Please ensure Intel HAXM is properly installed and usable.
CPU acceleration status: HAX is not installed on this machine (/dev/HAX is missing).
android - Intel X86 emulator accelerator (HAXM installer) VT/NX not editable - Stack Overflow : http://stackoverflow.com/questions/26521014/intel-x86-emulator-accelerator-haxm-installer-vt-nx-not-editable
From the Intel Instructions
にこんな記載がある。
The SDK Manager will download the installer to the "extras" directory, under the main SDK directory. Even though the SDK manager says "Installed" it actually means that the Intel HAXM executable was downloaded. You will still need to run the installer from the "extras" directory to finish installation.
Extract the installer inside the "extras" directory and follow the installation instructions for your platform."
なので、下記を実行。
$ cd /Users/<User Name>/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager
$ sudo sh silent_install.sh
Silent installation Pass!
と表示されたらインストール完了。
$ ionic emulate android
##パブリッシュ用に.apkファイルを作成する
下記に沿って進めます。
Publishing your app - Ionic Framework : http://ionicframework.com/docs/guide/publishing.html
###unsigned apkファイル生成
.apkはサインしないと端末にインストールできません。adhocでもこのプロセスが必要です。
$ cordova plugin rm org.apache.cordova.console
$ cordova build --release android
自分のケースでは、ここに生成されました。
<Project Directory>/platforms/android/ant-build/CordovaApp-release-unsigned.apk
###Private keyの生成
$ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
初回はkyestoreのパスワードを決めた後、基本情報に答えます。この秘密鍵は、公式にアプリの配布を始めたら特に、注意深く管理します。失くすと、アプリがアップデートできなります。
###.apkにサインする
下記を実行し、先ほど決めたパスフレーズを入力すると、signが開始します。
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore CordovaApp-release-unsigned.apk alias_name
###.apkの最適化をする
最後にzipalignで最適化をして終了。
当初zipalign
がbash command not found
になったため、~/.bash_profileを開き/Users/Tomo/Library/Android/sdk/build-tools/21.1.2
をPathに追加。パスはAndroid SDK Managerから調べます。
参考: android - On mac zipalign command not found - Stack Overflow : http://stackoverflow.com/questions/25983195/on-mac-zipalign-command-not-found
$ zipalign -v 4 CordovaApp-release-unsigned.apk MyFirstApp.apk
Verification Successful
を確認して全工程が終了です。
参考
より詳しいAndroid StudioとCorodvaの連携はこちらのポストを参照。
Using Android Studio Beta with Cordova PhoneGap | iPhone Dev Log : http://iphonedevlog.wordpress.com/2014/10/10/using-android-studio-beta-with-cordova-phonegap/