Android 5になって、apkファイルを配置するディレクトリ構造が一段深くなり、 /data/app/[アプリ名].apkが /data/app/[アプリ名]/[アプリ名].apkになったようです。以下、AVDでエミュレータを動かして確認した結果です。 Android 4.4.2 root@generic:/ # ls …
Nexus5以外の場合や、ClockWorkModやSuperSUのバージョンが上がった場合は適宜読みかえてください。 ClockWorkModの準備 ClockworkMod ROM Manager - Recoveriesから「Google Nexus 5」のDownload Recovery「recovery-clockwork-6.0.4.5-hammerhead.img」を…
http://www.tcl.tk/software/tcltk/download.htmlからtcl8.6.1-src.tar.gz をダウンロード。Tclはクロスコンパイル環境をあまり考慮していないようで、「クロスコンパイル用のunameコマンドを作る - android-memoの日記」のunameコマンドが必要です。 $ tar …
クロスコンパイル環境を考慮しているUnixソフトウェアであれば、configureスクリプトの--hostオプションの指定だけでクロスコンパイルが成功することも珍しくありません。しかし、ソフトウェアによってはconfigureスクリプト中でunameを直接呼び出し、その結…
http://www.tcpdump.org/#latest-releaseからtcpdump-4.5.1.tar.gzをダウンロード。「libpcap 1.5.3をAndroid NDKでクロスコンパイルする - android-memoの日記」に従ってlibpcapがインストールされている前提です。例によってconfig.subが古いので、libtool…
ネットワーク管理者向けツールでよく使われているライブラリです。http://www.tcpdump.org/#latest-releaseからlibpcap-1.5.3.tar.gzをダウンロード。例によってconfig.subが古いので、libtoolのファイルをコピーしてからconfigureします。 $ tar xvzf libpc…
Nmapは定番のセキュリティスキャナです。NcatというNetcatもどきが付属しており、僕はこれが欲しくてビルドしました。http://nmap.org/download.html#source から nmap-6.46.tar.bz2 をダウンロードします。例によってconfig.subが古いので、libtoolのファイ…
下記URLにもある通り、AndroidではRPATH、RUNPATHともに無効なようです。 https://groups.google.com/forum/#!topic/android-ndk/CGQ701s1-AM 実行バイナリからshared objectを利用したい場合、LD_LIBRARY_PATHでパスを指定するしかない。libc.soさえも同じ…
Android StudioとAndroid SDKをアップデートしたら既存プロジェクトをあれこれ直す必要があって、どれが必要だったのか自分でも整理できてないけどメモ Android SDKを入れ直したので、「Project Structure」「Platform Aettings」「Android SDK」の「Android…
ExpatはXMLパーサーライブラリです。http://sourceforge.net/projects/expat/files/ から expat-2.1.0.tar.gz をダウンロードします。 $ tar xvzf expat-2.1.0.tar.gz $ cd expat-2.1.0 $ CFLAGS=-O2 LDFLAGS=-s ./configure --host=arm-linux-androideabi -…
まずhttp://zsh.sourceforge.net/Arc/source.html から zsh-5.0.2.tar.bz2 をダウンロードします。ビルドには ncurses, PCRE, libiconv の各ライブラリが必要です。以前の記事「ncurses 5.9をAndroid NDKでクロスコンパイルする」「PCRE 8.33をAndroid NDKで…
http://ftp.gnu.org/pub/gnu/ncurses/ から ncurses-5.9.tar.gz をダウンロードします。Androidでビルドするため、locale.hが存在しないかのようにconfigureに対して環境変数をセットする必要があります(理由は後述)。それ以外は特に気をつける点はありま…
http://ftp.gnu.org/gnu/libiconv/ から libiconv-1.14.tar.gz をダウンロードします。config.subが古いので、libtoolのファイルをコピーしてからconfigureします。 $ tar xvzf libiconv-1.14.tar.gz $ cd libiconv-1.14 $ for i in `find . -name config.gu…
http://sourceforge.net/projects/pcre/files/pcre/ から pcre-8.33.tar.bz2 をダウンロードします。 $ tar xvjf pcre-8.33.tar.bz2 $ cd pcre-8.33 $ CFLAGS=-O2 LDFLAGS=-s ./configure --host=arm-linux-androideabi --prefix=$ANDROID_APP_ROOT/pcre-8.3…
以前の記事「OpenSSL 0.9.8yをAndroid NDKでクロスコンパイルする」および「ldns 1.6.16 をAndroid NDKでクロスコンパイルする」を前提にしています。http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/ から openssh-6.2p2.tar.gz をダウンロードします…
ldnsはDNSSECなどに対応したDNSライブラリです。unboundから利用することが多いようですが、今回はOpenSSHから利用するためにビルドします。「ldns」から ldns-1.6.16.tar.gz をダウンロードします。 $ tar xvzf ldns-1.6.16.tar.gz $ cd ldns-1.6.16 $ ./co…
以前の記事「OpenSSL 0.9.8yをAndroid NDKでクロスコンパイルする - android-memoの日記」を前提にしています。http://curl.haxx.se/download.html から curl-7.32.0.tar.bz2 をダウンロードします。 with-ca-pathではAndroid標準の証明書ストアを指定します…
「OpenSSL: Source, Tarballs」から openssl-0.9.8y.tar.gz をダウンロードします。 $ tar xvzf openssl-0.9.8y.tar.gz $ cd openssl-0.9.8y $ CROSS_COMPILE=arm-linux-androideabi- ./Configure --prefix=$ANDROID_APP_ROOT/openssl-0.9.8y threads zlib s…
Android SDKのツールについて、自分が必要な範囲で使い方をまとめました。1次ソースも併せて紹介します。前回記事「MacにAndroid向けクロスコンパイル開発環境を構築する」の内容は全て終わっている前提とします。 AVDの作成 AVD(Android Virtual Device)を…
Android向けクロスコンパイル開発環境の構築手順をまとめます。 用語解説 Android SDK Android用のAPIライブラリや開発ツールのパッケージ。 Android SDK | Android Developers ADT(Android Developer Tools) Eclipse用のAndroid開発プラグイン。最新のSDKは…