android ndk でC/C++ ソースからアセンブラソースを出力させる@clang

clang だとエラーになりアセンブラソースを出力できないので条件切り替えを追加
r9c clang3.3

LOCAL_CFLAGS += -fverbose-asm
ifeq (,$(findstring clang,$(NDK_TOOLCHAIN_VERSION)))
LOCAL_FILTER_ASM := python -c 'import sys; import shutil; src = open(sys.argv[1], "rb"); dst = open(sys.argv[2], "wb"); shutil.copyfileobj(src,dst);'
endif

以前の記事

Posted in Android, Android NDK | Leave a comment

ndk-gdb-py.cmd が実行できないバグ修正 ndk-r9c

ndk-r9b で ndk-gdb-py の実行に失敗するようになっていました。

以前の記事

些細なことですが r9c で無事修正されました。

https://code.google.com/p/android/issues/detail?id=63054

Posted in Android, Android NDK | Leave a comment

GitHub の Pages を maven リポジトリとして使用するときのアカウント情報をセキュアにする(OAuth2Token)

自分自身が半年振りに GitHub の Pages を
maven リポジトリとして使用しようとして検索したところ
大体のページが ~/.m2/settings.xml に GitHub のアカウント情報を
暗号化無しで記載する手順になっていました。
(パーミッション 700 に設定する説明がありますが Windows では設定が一筋縄ではいかない…)

知っていて当たり前として省略しているのか
セキュリティ面が弱いので補足です。

さらに raw など既に使用できないものを使用していたり
github.io に追従していなかったりするので今現在での手順となります。

Continue reading

Posted in GitHub, Java, maven | 2 Comments

WordPress の Widget で PHP コードを実行させて IPv4 と IPv6 接続を表示

さくらのレンタルーサーバが順次 IPv6 対応予定となっていたのですが、
ついに自分が利用しているサーバが IPv6 対応になりました。

そこで接続に使用された IP アドレスが IPv6 なのか IPv4 なのかを表示するように変更しようと思いました。

実際に表示の方法なのですが WordPress のテーマを編集して表示させることができるのですが、
おいしくないので widget でできないか探してできました。

Continue reading

Posted in IPv6, PHP, WordPress, WordPress widget | Leave a comment

Android NDK で Map ファイルを出力させる

共有ライブラリを生成したときに NDK では Map ファイルをデフォルトでは生成しないです。

jni/Android.mk に

LOCAL_LDFLAGS += -Wl,-Map,$$(LOCAL_OBJS_DIR:%/=%)/$(LOCAL_MODULE).map -Wl,--cref -Wl,--demangle

を追加することで Map ファイルを生成するようになります。

出力される so と同じ箇所に出力する場合は

LOCAL_LDFLAGS += -Wl,-Map,$$(LOCAL_BUILT_MODULE:%/=%).map -Wl,--cref -Wl,--demangle

でいけます。

Posted in Android, Android NDK | Leave a comment

android ndk でC/C++ ソースからアセンブラソースを出力させる

jni/Android.mk に

LOCAL_CFLAGS += -fverbose-asm
LOCAL_FILTER_ASM := python -c 'import sys; import shutil; src = open(sys.argv[1], "rb"); dst = open(sys.argv[2], "wb"); shutil.copyfileobj(src,dst);'

を追加することで C/C++ から出力されるアセンブラソース(リスティングファイル)が残るようになります。

python 環境が必要ですが Android NDK r9 以降は NDK に含まれています。
LOCAL_FILTER_ASM は ANdroid NDK r5 以降なら使用できると思います。

Continue reading

Posted in Android, Android NDK | Leave a comment

android sdk の build-tools を切り替える@ant

android sdk で build-tools を 19.0.0 にあげるとビルドに失敗するようになりました。

ant でビルドしている場合は
project.properties ファイルに

sdk.buildtools=18.1.1

など 19.0.0 以外をしてするようにすれば回避できます。
(SDK Manager で古いバージョンのダウンロードが必要です。)

Continue reading

Posted in Android, Android SDK | Leave a comment

ndk-gdb-py.cmd が実行できない ndk-r9b

ndk-r9b で ndk-gdb-py の実行に失敗するようになっています。
> ndk-gdb.py: error: unrecognized arguments: SHELL=cmd

SHELL=cmd を ndk-gdb-py.cmd から削除すれば実行できるようになります。

Continue reading

Posted in Android, Android NDK | Leave a comment

NEXUS7 2013 LTE で ndk-gdb-py が失敗する

NEXUS7 2013 LTE JLS36C(4.3) で ndk-gdb-py でデバッグを試したところ
デバッグできなかたのですが、解決策を見つけました。

Continue reading

Posted in Android, Android Device, Android NDK, NEXUS7 2013, NEXUS7 2013 LTE | 2 Comments

NEXUS7 2013 LTE で IIJmio の IPv6

IIJmio高速モバイル/Dサービスのカードが届いたので
NEXUS7 2013 LTE で使用していましたが、IPv6 対応だと思われるのに IPv6 アドレスが取得できない状態が続いていました。

解決方法をやっと見つけました。(ビルド番号 JLS36C で確認しました。)
APN の設定を「初期設定にリセット」
さらにだめなときは「APNタイプ」を「未設定」にすることで
無事に IPv6 アドレスが取得できるようになりました。

Continue reading

Posted in Android, Android Device, IIJmio, IPv6, ISP, NEXUS7 2013 LTE | Leave a comment