Linux/android sdkインストール
提供: 初心者エンジニアの簡易メモ
目次
ダウンロード
cd /usr/local/src wget http://dl.google.com/android/android-sdk_r13-linux_x86.tgz
展開
tar zxvf android-sdk_r13-linux_x86.tgz
環境パス登録
vi ~/.bashrc で最下へ登録 export PATH=$PATH:/usr/local/src/android-sdk-linux_x86/tools/ source ~/.bashrc #環境パス更新
java(JREでなくJDK)が入ってないときはjavaをインストール
# yum install java
アンドロイドSDKを更新
cd /usr/local/src/android-sdk-linux_x86/ # mkdir /usr/local/src/android-sdk-linux_x86/temp # /usr/local/src/android-sdk-linux_x86/tools/android update sdk -u # /usr/local/src/android-sdk-linux_x86/tools/android list target
antインストール
cd /usr/local/src wget http://ftp.riken.jp/net/apache/ant/binaries/apache-ant-1.8.4-bin.tar.gz # wget http://archive.apache.org/dist/ant/binaries/apache-ant-1.8.4-bin.tar.gz tar zxvf apache-ant-1.8.4-bin.tar.gz
vi ~/.bashrc で最下へ登録 export PATH=$PATH:/usr/local/src/apache-ant-1.8.4/bin export ANT_HOME=/usr/local/src/apache-ant-1.8.4 source ~/.bashrc #環境パス更新
ant -version Apache Ant(TM) version 1.8.4 compiled on May 22 2012
helloworldプロジェクト作成
$ android create project -n AndroidHelloworldLinux -t 1 -k info.nonip.AndroidHelloworldLinux -p /var/www/android/AndroidHelloworldLinux -a AndroidHelloworldLinux Created directory /var/www/android/AndroidHelloworldLinux/src/info/nonip/AndroidHelloworldLinux Added file /var/www/android/AndroidHelloworldLinux/src/info/nonip/AndroidHelloworldLinux/AndroidHelloworldLinux.java Created directory /var/www/android/AndroidHelloworldLinux/res Created directory /var/www/android/AndroidHelloworldLinux/bin Created directory /var/www/android/AndroidHelloworldLinux/libs Created directory /var/www/android/AndroidHelloworldLinux/res/values Added file /var/www/android/AndroidHelloworldLinux/res/values/strings.xml Created directory /var/www/android/AndroidHelloworldLinux/res/layout Added file /var/www/android/AndroidHelloworldLinux/res/layout/main.xml Added file /var/www/android/AndroidHelloworldLinux/AndroidManifest.xml Added file /var/www/android/AndroidHelloworldLinux/build.xml Added file /var/www/android/AndroidHelloworldLinux/proguard-project.txt
build.xml他だけ作りたい時
サンプルプロジェクトを作ってそこからコピーする
cp ../AndroidHelloworldLinux/build.xml build.xml cp ../AndroidHelloworldLinux/local.properties local.properties cp ../AndroidHelloworldLinux/ant.properties ant.properties
build.xmlのプロジェクト名を適宜を変更
デバッグ&ビルド
cd AndroidHelloworldLinux ant debug
以下エラーが発生した場合はantのバージョン(1.6.5)に問題があるのでantを1.8.xへバージョンアップ
Buildfile: build.xml BUILD FAILED /var/www/android/AndroidHelloworldLinux/build.xml:81: The following error occurred while executing this line: /usr/local/src/android-sdk-linux_x86/tools/ant/build.xml:197: Class org.apache.tools.ant.taskdefs.condition.And doesn't support the nested "matches" element.
- ant1.6.5をアンインストール
# yum remove ant.x86_64
apk作成
cd AndroidHelloworldLinux ant release
binの下にAndroidHelloworldLinux-release.apkができている
apk作成がkeystoreがなくてエラーが出る場合
既にkeyを作成済みの場合は、ant.propertiesにkeystoreのパスを追加
key.store=/var/www/android/android.keystore key.alias=release_project1 key.store.password=[キーストアのパスワード] key.alias.password=[キーストア別名のパスワード]
apacheでコンパイルするには
以下をant releaseするバッチ内に書いておく
export PATH=$PATH:/usr/local/src/android-sdk-linux_x86/tools/ export PATH=$PATH:/usr/local/src/apache-ant-1.8.4/bin
ant実行時に以下エラーが発生した場合
/usr/local/src/android-sdk-linux_x86/platform-tools/aapt: error while loading shared libraries: libstdc++.so.6: wrong ELF class: ELFCLASS64 cp /usr/lib64/libstdc++.so.6.0.17 /usr/lib/libstdc++.so.6.0.17 ln -s /usr/lib/libstdc++.so.6.0.17 /usr/lib/libstdc++.so.6
apkを署名
# apk署名 $ /usr/bin/jarsigner -verbose -keystore my-release-key.keystore my_application.apk alias_name # 署名確認 $ /usr/bin/jarsigner -verify my_signed.apk
zipalignでapk最適化
RAM の総使用量を減らすことができる
# 最適化実行 ~/tools/zipalign -v 4 in.apk out.apk # 確認 ~/tools/zipalign -c -v 4 out.apk