Galaxy S/Tab10.1とndk-gdb
Galaxy SやTab10.1でも同じですが、
ndk-gdbを実行すると
$ ndk-gdb -d
(android-ndk-r5bでは)
ERROR: Could not setup network redirection to gdbserver?
Maybe using --port=<port> to use a different TCP port might help?
(android-ndk-r5cまたはr6では)
ERROR: Could not extract package's data directory. Are you sure that
your installed application is debuggable?
と表示されデバイスでデバッカが起動しません。 理由はsumsungがデバック用パッケージを移動しているためで、ndk-gdbが期待したパスに存在しないようです。 これを解決するのはいまの所、ndk-gdbのスクリプトを合わせるか、rootでリンク化でしょうが、パッと探してみたところ情報が少ない。 (当たり前ですが、javaのデバックはできます、nativeの場合です。 尚、SはAndroid2.2, 2.3.3, Tab10.1はAndroid3.0.1, 3.1を試しました 念の為)
ちなみに、最近登場したndk r5cですが、ndk-gdbスクリプト以下の部分でexit 1されます。
DATA_DIRが空になるんですなぁ。
adb_var_shell2 DATA_DIR run-as $PACKAGE_NAME /system/bin/sh -c pwd
if [ $? != 0 -o -z "$DATA_DIR" ] ; then
echo "ERROR: Could not extract package's data directory. Are you sure that"
echo " your installed application is debuggable?"
exit 1
fi
log "Found data directory: '$DATA_DIR'"
ちなみにHTCなどは素でgdbを起動できます。 当たり前のことと思います。
Android機は独自なことをやりすぎると罠があるような気がします。 自由なほど責任を伴うと誰かが書いていますが、まさにその通りだと思います。
PS.1
ボクはroot化は億劫に感じるほうなのでやっていません。 しかも、最新のOSはroot化情報が少ないのが現状です。
PS.2
「Eee Pad transformer」はどうだろうかと思っています。
コメント
コメントを投稿