Android 5から*.apkが配置されるディレクトリが一段深くなってた

Android 5になって、apkファイルを配置するディレクトリ構造が一段深くなり、 /data/app/[アプリ名].apkが /data/app/[アプリ名]/[アプリ名].apkになったようです。以下、AVDでエミュレータを動かして確認した結果です。 Android 4.4.2 root@generic:/ # ls …

Nexus5にSuperSUをインストールするメモ

Nexus5以外の場合や、ClockWorkModやSuperSUのバージョンが上がった場合は適宜読みかえてください。 ClockWorkModの準備 ClockworkMod ROM Manager - Recoveriesから「Google Nexus 5」のDownload Recovery「recovery-clockwork-6.0.4.5-hammerhead.img」を…

Tcl 8.6をAndroid NDKでクロスコンパイルする

http://www.tcl.tk/software/tcltk/download.htmlからtcl8.6.1-src.tar.gz をダウンロード。Tclはクロスコンパイル環境をあまり考慮していないようで、「クロスコンパイル用のunameコマンドを作る - android-memoの日記」のunameコマンドが必要です。 $ tar …

クロスコンパイル用のunameコマンドを作る

クロスコンパイル環境を考慮しているUnixソフトウェアであれば、configureスクリプトの--hostオプションの指定だけでクロスコンパイルが成功することも珍しくありません。しかし、ソフトウェアによってはconfigureスクリプト中でunameを直接呼び出し、その結…

tcpdump 4.5.1をAndroid NDKでクロスコンパイルする

http://www.tcpdump.org/#latest-releaseからtcpdump-4.5.1.tar.gzをダウンロード。「libpcap 1.5.3をAndroid NDKでクロスコンパイルする - android-memoの日記」に従ってlibpcapがインストールされている前提です。例によってconfig.subが古いので、libtool…

libpcap 1.5.3をAndroid NDKでクロスコンパイルする

ネットワーク管理者向けツールでよく使われているライブラリです。http://www.tcpdump.org/#latest-releaseからlibpcap-1.5.3.tar.gzをダウンロード。例によってconfig.subが古いので、libtoolのファイルをコピーしてからconfigureします。 $ tar xvzf libpc…

Nmap 6.46をAndroid NDKでクロスコンパイルする

Nmapは定番のセキュリティスキャナです。NcatというNetcatもどきが付属しており、僕はこれが欲しくてビルドしました。http://nmap.org/download.html#source から nmap-6.46.tar.bz2 をダウンロードします。例によってconfig.subが古いので、libtoolのファイ…

AndroidではRPATH、RUNPATHともに無効

下記URLにもある通り、AndroidではRPATH、RUNPATHともに無効なようです。 https://groups.google.com/forum/#!topic/android-ndk/CGQ701s1-AM 実行バイナリからshared objectを利用したい場合、LD_LIBRARY_PATHでパスを指定するしかない。libc.soさえも同じ…

Android Studioのアップデート時の作業メモ

Android StudioとAndroid SDKをアップデートしたら既存プロジェクトをあれこれ直す必要があって、どれが必要だったのか自分でも整理できてないけどメモ Android SDKを入れ直したので、「Project Structure」「Platform Aettings」「Android SDK」の「Android…

Expat 2.1.0をAndroid NDKでクロスコンパイルする

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 -…

zsh 5.0.2をAndroid NDKでクロスコンパイルする

まず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で…

ncurses 5.9をAndroid NDKでクロスコンパイルする

http://ftp.gnu.org/pub/gnu/ncurses/ から ncurses-5.9.tar.gz をダウンロードします。Androidでビルドするため、locale.hが存在しないかのようにconfigureに対して環境変数をセットする必要があります(理由は後述)。それ以外は特に気をつける点はありま…

libiconv 1.14をAndroid NDKでクロスコンパイルする

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…

PCRE 8.33をAndroid NDKでクロスコンパイルする

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…

OpenSSH 6.2p2 をAndroid NDKでクロスコンパイルする

以前の記事「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 1.6.16 をAndroid NDKでクロスコンパイルする

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…

cURL 7.32をAndroid NDKでクロスコンパイルする

以前の記事「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 0.9.8yをAndroid NDKでクロスコンパイルする

「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のツール使い方まとめ

Android SDKのツールについて、自分が必要な範囲で使い方をまとめました。1次ソースも併せて紹介します。前回記事「MacにAndroid向けクロスコンパイル開発環境を構築する」の内容は全て終わっている前提とします。 AVDの作成 AVD(Android Virtual Device)を…

MacにAndroid向けクロスコンパイル開発環境を構築する

Android向けクロスコンパイル開発環境の構築手順をまとめます。 用語解説 Android SDK Android用のAPIライブラリや開発ツールのパッケージ。 Android SDK | Android Developers ADT(Android Developer Tools) Eclipse用のAndroid開発プラグイン。最新のSDKは…