2016年11月26日土曜日

アンドロイドアプリのリリース用パッケージを生成する

前回の記事で、Ubuntu上でのアンドロイドアプリ開発環境の構築手順をあメログしました。

一番簡単なデバッグ版の生成手順でしたが、今回はリリース版の手順になります。

リリース版の生成は
$ ant release
で可能なのですが、生成されるパッケージは
HelloWorld-release-unsigned.apk
未署名のパッケージが生成されます。

このままでも問題ないのですが、インストール時にエラーが出たりと面倒なので、アプリに署名を行います。
アプリの署名にはキーストアファイルを生成します。
$ keytool -genkey -v -keystore hello.ks -alias hellokey -validity 10000
キーストアのパスワードや姓名や組織単位や国コード(日本はjp)を適当に入力するとカレントディレクトリにキーストアファイルhello.ksが生成されます。

ant.propertiesにキーストアファイルの設定を行います。
末尾に
key.store=hello.ks
key.store.password=生成時に入力したパスワード
key.alias=hellokey
key.alias.password=生成時に入力したパスワード
を追記します。

これで署名付きアプリ生成の準備が整いました。
$ ant release
でHelloWorld-release.apkが生成されます。

リリース版にはデバック情報が含まれず、ソースの難読化等も行えます。

2016年11月25日金曜日

Ubuntu( 32bit)にAndroid開発環境を構築

あまプロではアンドロイドアプリを開発する授業も行っています。

教室では一万円未満の中古ノートパソコンを使用してますので、数年前の32bitマシンになります。
32bitマシンにAndroid開発環境を構築する際に一手間掛かりますので、あメログ。

あまプロではEdubuntuを使用しています。
なので、Edubuntu16.04( 32bit)に開発環境を構築する手順になります。
必要なパッケージはJDKとAntとAndroidSDKになります。

簡単に説明しますと、
JavaDevelopmentKitはJavaというプログラム言語の開発環境です。AndroidアプリはJavaで記述しますので、これが必要になります。
AntはJavaのビルドツールです。
AndroidSoftwareDevelopmentKitはAndroidの開発環境です。
理論上はめっちゃ頑張ればJDKだけでアンドロイドアプリを開発出来る筈なんですが、手軽に開発環境を構築したいので、上記の三つを用います。

1.JDKのインストール
$ sudo apt-get install default-jdk
デフォルトのJDKはUbuntuのリポジトリに登録されてますので、簡単にこのコマンドでインストール 出来ます。
 インストール後に
$ javac -version
でJDKのバージョンが出力されれば成功です。
2.Antのインストール
 公式サイトからバイナリをダウンロードします。
 現時点の最新版は1.9.7です。
3.任意のパス(階層)に解凍し、そのパスのbinを環境変数へ登録します。
$ unzip apache-ant-1.9.7.zip
例えば/home/user/apache-ant-1.9.7に解凍して
 エディタで環境変数ファイルを開いて
$ vim ~/.profile
 末尾にantのパスを追加します。
export PATH=$PATH:/home/user/apache-ant-1.9.7/bin
5.環境変数ファイルを反映させます。
$ source ~/.profile
反映後に
$ ant -version
でantのバージョンが出力されれば成功です。
4.AndroidSDKのインストール
 公式サイトからバイナリをダウンロードします。
 現時点での最新版は24.4.1です。
5.任意のパス(階層)に解凍し、そのパスのplatform-toolsとtoolsを環境変数へ登録します。
$ tar zxf android-sdk_r24.4.1-linux.tgz
  例えば/home/user/android-sdk-linux/に解凍して
 エディタで環境変数ファイルを開いて
$ vim ~/.profile
末尾のPATHにplatform-toolsとtoolsを追加します。
 export PATH=$PATH:/home/user/apache-ant-1.9.7/bin:/home/user/android-sdk-linux/platform-tools:/home/user/android-sdk-linux/tools
6.環境変数ファイルを反映させます。
$ source ~/.profile
7.platform-toolsの32bit版をインストールします。
 こちらからダウンロードしてAndroidSDKのインストール先に解凍します。
8.SDKマネージャを起動します。
$ android sdk
  Platform-toolsはそのまま23.0.1で、Build-toolsは23.0.3を選択し、インストールします。
  APIはAndroid4.4のSDK Platformをインストールします。
Platform-toolsとBuild-toolsは23.*以上にアップデートするとビルド出来なくなります。
 SDKManagerを起動する度に最新版のPlatform-toolsを薦めてくるんですが、インストールせぇへん様に気を付けて下さい。
 間違えて最新版をインストールしてしまった場合には、再度platform-tools_r23.0.1-linux.zipで上書きして下さい。
9.プロジェクトを生成します。
$ android create project --target android-19 --name HelloWorld --path HelloWorld --activity HelloWorldAct --package sample.helloworld
開発環境が正常に構築されていれば正常にプロジェクトが生成されます。10.HelloWorldプロジェクトディレクトリへ移動して、ビルドします。
$ ant debug
bin配下にHelloWorld-debug.apkパッケージファイルが生成されたら成功です。

おまけ
11.生成したHelloWorld-debug.apkをメールでスマホへ送信したらインストール出来ます。
 事前にセキュリティの設定でを緩くする必要が有ります。
 設定で、提供元不明のアプリにチェックを付けます。
ざっとこんな手順でアンドロイドアプリの環境構築からインストールまで出来る様になります。
ハイスペックマシンの場合はAndroidStudioというIDEを使って開発出来ますが、あまプロはロースペックマシン故にCUIの手順で行っております。