SlideShare a Scribd company logo
1 of 61
Download to read offline
Eclipseを使ってAndroid
Nativeデバッグしてみる
とちょっとおまけ
2010/08/29
@l_b__
日本Androidの会横浜支部
PF部第1回勉強会
目次
1. Androidのデバッグの仕組み
2. EclipseにAndroidのソースを読み込ませる まずは全部
3. EclipseにAndroidのアプリだけのNativeソースを読み込ませる
4. EclipseでNativeアプリをデバッグしてみる
5. EclipseでAndroidJavaフレームワークをデバッグしてみる
最初にごめんなさい
今回Windows使っていないです。
環境はUbuntuLinux10.04(Lucid Lynx)で試しています。
Android NDK使っていないです。
(というかNDK使ったことありません)
Androidのソースを落として来てください。
(http://source.android.com/source/download.html 参照)
仕組み的にはNDKでも大差無いのではと思います。
Eclipseは3.5(Galileo)、JavaはSun JDK 1.5です。
Ubuntu10.04へのJava1.5のインストールは http://blog.sola-
dolphin-1.net/archives/2613458.html を参照してください。
1.Androidのデバッグの仕組み
AndroidのNativeデバッグ
● ターゲット上のGDBServerとホスト上のGDBをTCPで接続
●  ホスト上のGDBはARM向けクロスターゲットデバッガ。PCに入っている
x86向けではないことに注意。
Target Android Device
process
Host PC
GDBServer
Target Application
ADBGDB
Eclipse
クロスターゲット向け
のデバッガ
AndroidのNativeライブラリデバッグ
● ライブラリをデバッグする場合は別プロセスでGDBServerを立ち
上げて、ターゲットのプロセスにアタッチ。
Target Android Device
process
Host PC
Target Library
ADBGDB
Eclipse
クロスターゲット向け
のデバッガ
process
GDB
Server
AndroidのJavaデバッグ
● DalvikのJDWP(Java Debug Wire Protocol)を使ってTCP経由でリ
モートデバッグ。
● 詳細はソースの/dalvik/docs/debugger.html,debugmon.html参照。
Target Android Device
process
Host PC
DalvikVM
Target Android
Application
ADBJDB
Eclipse
2.EclipseにAndroidのソースを
読み込ませる
まずは全部
まずEclipseの準備
● Eclipse3.5(Galileo)をeclipse.orgから取得してください。
○ubuntu標準の奴は使いません。
● Eclipseを起動、Install New SoftwareでGalileoのサイトを選
び、CDT(Eclipse C/C++ Development Tools)をインストールし
てください。
● 同じくInstall New Software→Mobile and Device
DevelopmentにあるEclipse C/C++ DSF Debugger
Integration,Memory View Enhancements,Remote Launchを
入れとくといいかもしれません。(すみません、こいつらが何か詳細
わかってません)
● 他にもSubclipseなりEGitなりFindBugsなりお好きなプラグインを
どうぞ。
Androidのソース落とす
● 落とし方はhttp://source.android.com/source/download.
htmlなりhttp://blog.sola-dolphin-1.net/archives/2613458.
htmlなり見て下さい。
● 今回はFroyo(Android2.2)のブランチ、ソース
は$HOME/android/myfroyo にあるものとします。
○もちろんソースを置く場所はご自由に。以降をご自分の環境に
置き換えて読んでください。
Eclipseの初期設定
● デフォルトの設定だとヒープ容量が足りないので、以下をEclipse
インストールディレクトリにあるeclipse.iniに追加します。
 
-Xms=128m
-Xmx512m
-XX:MaxPermSize=256m
● 上はAndroid公式の推奨値。PCにメモリを十分積んでいるなら
もっと大きくてもよいかも。
Eclipseに読み込ませる
● Eclipseを起動。File→New→C++Projectで新しくC++のプロジェ
クトを作成します。
Eclipseのプロジェクトに読み込ませる
● すでにMakefileがあるので、Makefile projectのEmpty
Projectを選択。Use default locationのチェックを外し、
Androidのソース位置をLocationに設定。
Eclipseのプロジェクトに読み込ませる
● Finishを押してしばし待ちます。C/C++ファイルのインデックスの
生成にそれなりに時間がかかります。
● バックグラウンドタスクも完了し、無事読み込まれたら
Project→Properties→C/C++ Buildを選択、Behaviourタブを
選択。
●  Use Parallel Buildをチェックし、Use Parallel Jobsに並列ビル
ドするプロセス数を設定。(make の -jオプション。 -j8は速いで
す。)
●  Build(Incremental build)のallを削除。AndroidのMakefile
にはmake allの定義がありません。
Eclipseのプロジェクト設定
 
Eclipseでプロジェクトをビルド
● ここまで設定するとProject→Build Projectでビルドできます。
● ソース全体をビルドするので時間かかります。
●  ProjectのBuild Automaticallyのチェックは外しといたほうがよ
いかも。
Eclipseで全ソース読み込んで良いことは
何?
●  C/C++のソースインデックスが作成されているので、ソースを読む
ときに宣言元や定義元を右クリックで簡単に呼び出せる。
○ただしC/C++ソースのみ。Javaはダメ。Javaについては後述し
ます。
● Nativeフレームワークをがしがし改造するなら改造して全体ビル
ドをEclipse上だけで行える。
しかし...
● とにかくリソース喰い。一部アプリをいじるだけならソース全体読み
込むと余計な時間ばかりかかります。
● 特にVMwareなどの仮想環境上で作業していたり、ノートPCで作
業したりするときはつらいです。
3.EclipseにAndroidのアプリ
だけのNativeソースを
読み込ませる
Nativeアプリの作成
● 例としてHelloWorldをAndroidのログに出力する実行形式のア
プリを作成します。
●  アプリの配置位置として/external/helloworldディレクトリを作
成します。
○フレームワークに手を入れるのではないので、本来は/device/
(ベンダー)/(機種)のような個別向けのディレクトリに配置すべ
きかも。
○ただ、/externalの下に置くと、mm(ビルドコマンド。後述しま
す。)呼んで簡単にビルドできるので。/device以下に置いた時
にどうビルドするかは調べていません。知っていたら教えてくだ
さい。
Nativeアプリの配置例
● HelloWorldアプリはこんな
感じで配置。
● build/build.sh
○ Eclipse向けのビルドスクリプト 実
行権限を付加しておくこと
● libhelloworld
○ ログ書き込み処理を行うstaticラ
イブラリ
● main
○ アプリのメイン関数
● Android.mk
○ 各ディレクトリのビルドスクリプト
Eclipseのビルド設定
● Nativeアプリをビルドするbuild.shを読み込ませる設定は
Project→Propertiesから以下のようにBuild commandを設定。
Eclipseのパス設定
● ソースを全部読み込ませた場合と違い、フレームワークのインク
ルードファイルを自動でインデックス化してくれない。
● なので、フレームワークのインクルードディレクトリを
Project→Propertiesで次ページのように設定するとインクルード
ファイルの依存関係をEclipseが解決してくれるようになる。
● ただし、ビルド時の依存解決は手動で書くAndroid.mkに必要な
インクルードディレクトリを定義することに注意。Eclipseはビルドの
依存関係は解決してくれません。
Eclipseのパス設定
 
Eclipseのパス設定
● パス設定を行う際は下記のチェックを入れておくとC/C++を一度に
設定出来て便利。
HelloWorldアプリ
● 今回のアプリは以下の通り
●  /Android.mk
include $(all-subdir-makefiles)
●  /main/main_helloworld.c
#include <helloworld.h>
int main(int argc, char** argv) {
writeLog();
return 0;
}
HelloWorldアプリ
● /main/Android.mk
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= main_helloworld.c
LOCAL_STATIC_LIBRARIES += libhelloworld
LOCAL_SHARED_LIBRARIES:= 
libcutils
LOCAL_C_INCLUDES:= $(LOCAL_PATH)/../libhelloworld
LOCAL_MODULE:= helloworld
include $(BUILD_EXECUTABLE)
HelloWorldアプリ
● /libhelloworld/helloworld.c
#define LOG_TAG "HELLOWORLD"
#include <helloworld.h>
#include <cutils/log.h>
void writeLog() {
int i = 0;
for(;i < 5; i++) {
LOGD("Hello Android World. :%d", i);
}
}
HelloWorldアプリ
● /libhelloworld/helloworld.h
#ifndef HELLOWORLD_H_
#define HELLOWORLD_H_
void writeLog();
#endif /* HELLOWORLD_H_ */
HelloWorldアプリ
● /libhelloworld/Android.mk
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= 
helloworld.c
LOCAL_SHARED_LIBRARIES:= 
libcutils
LOCAL_MODULE:= libhelloworld
include $(BUILD_STATIC_LIBRARY)
HelloWorldアプリ
● /build/build.sh
#!/bin/bash
source ~/android/myfroyo/build/envsetup.sh
cd ~/android/myfroyo/external/helloworld
mm
envsetup.shの便利なコマンド
● Androidの/build/envsetup.shには色々便利なコマンドがありま
す。これらのコマンドを使うには $source build/envsetup.sh を
実行します。
○envsetup.shは実行権限が無いので、sourceコマンドで読み
込ませます。
●  croot ソースツリーのトップに移動
●  cgrep ソースツリーのC/C++ファイルからgrep
●  jgrep ソースツリーのJavaファイルからgrep
●  resgrep ソースツリーのres/*.xmlからgrep
●  godir 指定した名前のファイルを含むディレクトリに移動
●  m ソース全体のビルド
●  mm 現在のディレクトリ以下をビルド(そのディレクトリにAndroid.mkが必要)
●  mmm 現在のディレクトリから相対パスで指定したディレクトリ以下をビルド
●  choosecombo ビルドターゲット用の環境変数を設定する(lunchの方が便利そう)
アプリのビルド
● EclipseでProject→Build Projectとやるとビルドされます。
(build/build.shを呼んでいるだけです)
● ビルドされたアプリはデバッグシンボル付きが
out/target/product/generic/symbols/system/binに、デ
バッグシンボル無しが
out/target/product/generic/system/bin に配置されます。
Nativeのビルド出力
● Nativeアプリ/ライブラリは一般的に以下の手順でビルドされま
す。
●  out/target/product/generic/objの下でオブジェクトファイル
がコンパイルされる。アプリはEXECUTABLES、ライブラリは静的
がSTATIC_LIBRARIES、動的がSHARED_LIBRARIES以下
にそれぞれのディレクトリが生成されます。
○helloworldの場合、
out/target/product/generic/obj/EXECUTABLES/
          helloworld_intermediates
Nativeのビルド出力
● それぞれのディレクトリのLINKEDディレクトリにデバッグシンボル
付きバイナリがリンクされます。
● stripコマンドでデバッグシンボルが取り除かれたバイナリが各
ディレクトリに配置されます。
○helloworldの場合、デバッグシンボル付きバイナリは
out/target/product/generic/obj/EXECUTABLES/
           helloworld_intermediates/LINKED に、
          デバッグシンボル無しは
   out/target/product/generic/obj/EXECUTABLES/
   helloworld_intermediates に出来ます。
Nativeのビルド出力
● 最終的にinstallコマンドによって、各バイナリは
out/target/product/generic/ 以下のディレクトリに配置され
ます。
○デバッグシンボル付きアプリはsymbols/system/bin
○デバッグシンボル無しアプリはsystem/bin
○デバッグシンボル付き動的ライブラリはsymbols/system/lib
○デバッグシンボル無し動的ライブラリはsystem/lib
HelloWorldの実行結果
● デバイスやエミュレータを起動し、adbで接続できることを確認しま
す。
● helloworldのバイナリをadbでデバイスに転送します。
○adb push helloworld /data/local/tmp
● adbでデバイスにログインし、アプリを実行します。
○adb shell chmod +x /data/local/tmp/helloworld
○adb shell /data/local/tmp/helloworld
● logcatでログにHelloWorldの結果が出力されているのを確認し
ます。
HelloWorldの実行結果
● adb logcatした結果
D/HELLOWORLD(  366): Hello Android World. :0
D/HELLOWORLD(  366): Hello Android World. :1
D/HELLOWORLD(  366): Hello Android World. :2
D/HELLOWORLD(  366): Hello Android World. :3
D/HELLOWORLD(  366): Hello Android World. :4
4.EclipseでNativeアプリを
デバッグしてみる
ようやく本題
● 大雑把なデバッグの手順は以下の通りです。
○デバイス/エミュレータにシンボル付きバイナリとgdbserverを
転送します。
○デバイス上でgdbserverを起動。
○adbでgdbserverのポートをフォワード。
○Eclipseのデバッグ構成を設定。
○EclipseのC/C++アプリリモートデバッグでadbがフォワードした
ポートに接続してデバッグ。
ファイルのデバイスへの転送
● まずはgdbserverを転送します。
○adb push prebuilt/android-arm/gdbserver/gdbserver
/data/local/tmp
○adb shell chmod +x /data/local/tmp/gdbserver
● 次にデバッグシンボル付き実行ファイルを転送します。
○adb
push  out/target/product/generic/symbols/system/bin
/helloworld /data/local/tmp
○adb shell chmod +x /data/local/tmp/helloworld
GDBServerの起動
● GDBServerをadb経由で起動します。
○adb shell /data/local/tmp/gdbserver :5039
/data/local/tmp/helloworld
● これでデバイスのポート5039でgdbserverが起動し、接続待ち
状態になります。
GDBServerのポートをフォワード
● ADBを使ってホストのポートをGDBServerの待ち受けポートに転
送します。
○adb forward tcp:5039 tcp:5039
● ホストのTCPポート5039への接続がデバイスのTCPポート5039
に転送されます。
● ファイルの転送からポートのフォワードまではスクリプト化しておく
と楽でしょう。
Eclipseのデバッグ構成
● Eclipseのデバッグの構成を開き、C/C++ Applicationに新しい構
成を作成します。
○ C/C++ Remote Applicationでは無いので注意。
● MainタブのC/C++ Applicationにデバッグシンボル付きバイナリ
の位置を設定します。
Eclipseのデバッグ構成 Debuggerタブ
● デバッグ構成のDebuggerタブでDebuggerにgdbserver
Debuggerを選択、Stop on start at mainにチェックします。
●  MainタブのGDB debuggerにクロスターゲットデバッガを設定し
ます。
Eclipseのデバッグ構成 Debuggerタブ
● SharedLibrariesタブにデバッグシンボル付き動的ライブラリの
ディレクトリを設定します。
Eclipseのデバッグ構成 Debuggerタブ
● ConnectionタブでTypeをTCP、Port Numberを5039に設定し
ます。
Eclipseのデバッグ構成 Sourceタブ
● Sourceタブは特に修正していません。デフォルトで以下のように
設定されます。
デバッグの実行
● デバッグを実行するとmain関数で止まった状態でデバッグパース
ペクティブが開きます。
再度ごめんなさい
JNI使ったAndroidアプリのNativeライブラリ側デバッグについても
書こうと思っていましたが、力尽きました。
機会があったらまたということで。
5.EclipseでAndroid
Javaフレームワークを
デバッグしてみる
おまけですが...
● EclipseにAndroidのソースを読み込ませて、Javaフレームワーク
をデバッグすることができます。
●  DDMSにプロセス毎のDalvik JDWP待ち受けポートが表示され
るので、Javaリモートアプリケーションのデバッグ機能を使って接
続します。
Eclipseプロジェクトへの読み込み
● Eclipseを起動。File→New→JavaProjectで新しくJavaのプロ
ジェクトを作成します。
● その後、Nextを押してしばらく
  待ちます。
プロジェクトを読み込むときの注意
● 同一のディレクトリを複数のプロジェクトで共有することはできませ
ん。
○外部のソースをインポートしてプロジェクトを作成した場合、.
projectファイルがディレクトリに作成されるため、一つのディレ
クトリは一つのプロジェクトとしか結びつかない。
● シンボリックリンクを使ってみたが、どうも深いディレクトリにある
POLICY系のファイルを読んでくれずに、makeするとビルドエラー
が発生。
● しょうがないので、C向けとJava向けにFroyoのディレクトリを別に
作りました... いい対処方法あったら教えてください。
Eclipseプロジェクトへの読み込み
● プロジェクトの作成でしばらく待つと、ソースを自動でインポートし
てくれます。(Linux版のみ。Windows版の場合は自分でソース
ディレクトリを設定する必要があります。)
DDMSでデバッグしたいプロセスの選択
● DDMSを開き、DevicesのViewでデバッグしたいプロセスを確認
します。右側にJDWPのポート番号が表示されます。
● launcherをデバッグするので、ポート8603か8700を選びます。
○8603はVM毎にユニークなポート番号、8700はDDMSで選択
されたVMに割り当てられるポート番号?
DDMSでデバッグしたいプロセスの選択
 
Javaのデバッグ構成
● Eclipseのデバッグの構成を開き、Remote Java Applicationに
新しい構成を作成します。
● 接続先のポートに8603か8700を指定し、デバッグを実行しま
す。
デバッグの実行
● デバッグパースペクティブでデバッグ情報が表示されます。
● なぜかソースとステップ実行中の行が連動しませんが、変数や行
番号情報は表示され、ステップ実行も可能です。ブレークポイント
もきちんと設定されます。 (ソースディレクトリとして登録されたの
が多すぎか?)
デバッグの実行
 
最後に
ご質問があったら日本Androidの会横浜支部のGoogle Groups
(http://groups.google.com/group/android-jp-yokohama)まで
どうぞ。

More Related Content

What's hot

20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方Makoto Yamazaki
 
僕がAndroid開発する時にちょっと便利だと思うtips
僕がAndroid開発する時にちょっと便利だと思うtips僕がAndroid開発する時にちょっと便利だと思うtips
僕がAndroid開発する時にちょっと便利だと思うtipsMasataka Kono
 
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術Yu Nobuoka
 
go.mobile で Android 開発
go.mobile で Android 開発go.mobile で Android 開発
go.mobile で Android 開発Hiroshi Kurokawa
 
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーションakio19937
 
ネットワークの切り替えを感知する方法
ネットワークの切り替えを感知する方法ネットワークの切り替えを感知する方法
ネットワークの切り替えを感知する方法Keisuke Yamaguchi
 
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違いPHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違いMasataka Kono
 
Gazebo/ROSで力覚センサプラグインを使う
Gazebo/ROSで力覚センサプラグインを使うGazebo/ROSで力覚センサプラグインを使う
Gazebo/ROSで力覚センサプラグインを使うHDeanK
 
Remote Development with Visual Studio Code & A clean dev env, working every ...
Remote Development with Visual Studio Code &  A clean dev env, working every ...Remote Development with Visual Studio Code &  A clean dev env, working every ...
Remote Development with Visual Studio Code & A clean dev env, working every ...Hiroyuki Ohnaka
 
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)Kengo Suzuki
 
Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発Takuya Ueda
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法Naruto TAKAHASHI
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Kenichi Kambara
 
お気に入り拡張機能
お気に入り拡張機能お気に入り拡張機能
お気に入り拡張機能SatsukiYabu
 
GoによるiOSアプリの開発
GoによるiOSアプリの開発GoによるiOSアプリの開発
GoによるiOSアプリの開発Takuya Ueda
 
View Customize Pluginで出来ること
View Customize Pluginで出来ることView Customize Pluginで出来ること
View Customize Pluginで出来ることonozaty
 
JUCEハンズオン@Ableton and Max Community Japan #009
JUCEハンズオン@Ableton and Max Community Japan #009JUCEハンズオン@Ableton and Max Community Japan #009
JUCEハンズオン@Ableton and Max Community Japan #009Tatsuya Shiozawa
 
絶対落ちないアプリの作り方
絶対落ちないアプリの作り方絶対落ちないアプリの作り方
絶対落ちないアプリの作り方Fumihiko Shiroyama
 

What's hot (20)

20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
 
僕がAndroid開発する時にちょっと便利だと思うtips
僕がAndroid開発する時にちょっと便利だと思うtips僕がAndroid開発する時にちょっと便利だと思うtips
僕がAndroid開発する時にちょっと便利だと思うtips
 
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
 
Choreonoid+ros
Choreonoid+rosChoreonoid+ros
Choreonoid+ros
 
go.mobile で Android 開発
go.mobile で Android 開発go.mobile で Android 開発
go.mobile で Android 開発
 
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
 
ネットワークの切り替えを感知する方法
ネットワークの切り替えを感知する方法ネットワークの切り替えを感知する方法
ネットワークの切り替えを感知する方法
 
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違いPHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
 
Gazebo/ROSで力覚センサプラグインを使う
Gazebo/ROSで力覚センサプラグインを使うGazebo/ROSで力覚センサプラグインを使う
Gazebo/ROSで力覚センサプラグインを使う
 
Remote Development with Visual Studio Code & A clean dev env, working every ...
Remote Development with Visual Studio Code &  A clean dev env, working every ...Remote Development with Visual Studio Code &  A clean dev env, working every ...
Remote Development with Visual Studio Code & A clean dev env, working every ...
 
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
 
Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
 
Jenkins導入ライブ
Jenkins導入ライブJenkins導入ライブ
Jenkins導入ライブ
 
お気に入り拡張機能
お気に入り拡張機能お気に入り拡張機能
お気に入り拡張機能
 
GoによるiOSアプリの開発
GoによるiOSアプリの開発GoによるiOSアプリの開発
GoによるiOSアプリの開発
 
View Customize Pluginで出来ること
View Customize Pluginで出来ることView Customize Pluginで出来ること
View Customize Pluginで出来ること
 
JUCEハンズオン@Ableton and Max Community Japan #009
JUCEハンズオン@Ableton and Max Community Japan #009JUCEハンズオン@Ableton and Max Community Japan #009
JUCEハンズオン@Ableton and Max Community Japan #009
 
絶対落ちないアプリの作り方
絶対落ちないアプリの作り方絶対落ちないアプリの作り方
絶対落ちないアプリの作り方
 

Similar to Eclipseを使ったandroid nativeデバッグ

Jenkins study 7 2013-01-28
Jenkins study 7 2013-01-28Jenkins study 7 2013-01-28
Jenkins study 7 2013-01-28Ato ARAKI
 
Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法Microsoft Corporation
 
Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )Masayuki Abe
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Daisuke Hiraoka
 
Pre react native0504
Pre react native0504Pre react native0504
Pre react native0504卓馬 三浦
 
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeomantomo_masakura
 
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整えるサーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整えるFuminobu Takeyama
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Takako Miyagawa
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築Hideharu MATSUFUJI
 
Android studio で行ってみよう!!
Android studio で行ってみよう!!Android studio で行ってみよう!!
Android studio で行ってみよう!!Kazuaki Ueda
 
Linux daemonとsupervisordの美味しい関係
Linux daemonとsupervisordの美味しい関係Linux daemonとsupervisordの美味しい関係
Linux daemonとsupervisordの美味しい関係Kazushige TAKEUCHI
 
Tizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native apiTizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native apiNaruto TAKAHASHI
 
Andoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かすAndoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かすshobomaru
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入Yu Nobuoka
 
Android Dev Tools Knowledge
Android Dev Tools KnowledgeAndroid Dev Tools Knowledge
Android Dev Tools KnowledgeShinobu Okano
 
Google I/O 2011 HowToADK
Google I/O 2011 HowToADKGoogle I/O 2011 HowToADK
Google I/O 2011 HowToADKMasahiro Hidaka
 
Android Studio First Step Guide
Android Studio First Step GuideAndroid Studio First Step Guide
Android Studio First Step GuideMasahiro Hidaka
 
第8回 HoloLens 参考書 読書会
第8回 HoloLens 参考書 読書会第8回 HoloLens 参考書 読書会
第8回 HoloLens 参考書 読書会Masashi Eguchi
 

Similar to Eclipseを使ったandroid nativeデバッグ (20)

Jenkins study 7 2013-01-28
Jenkins study 7 2013-01-28Jenkins study 7 2013-01-28
Jenkins study 7 2013-01-28
 
Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法
 
Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
 
Pre react native0504
Pre react native0504Pre react native0504
Pre react native0504
 
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
 
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整えるサーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
 
Android studio で行ってみよう!!
Android studio で行ってみよう!!Android studio で行ってみよう!!
Android studio で行ってみよう!!
 
Linux daemonとsupervisordの美味しい関係
Linux daemonとsupervisordの美味しい関係Linux daemonとsupervisordの美味しい関係
Linux daemonとsupervisordの美味しい関係
 
Tizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native apiTizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native api
 
Andoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かすAndoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かす
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
Android Dev Tools Knowledge
Android Dev Tools KnowledgeAndroid Dev Tools Knowledge
Android Dev Tools Knowledge
 
Ide env
Ide envIde env
Ide env
 
Driverについて
DriverについてDriverについて
Driverについて
 
Google I/O 2011 HowToADK
Google I/O 2011 HowToADKGoogle I/O 2011 HowToADK
Google I/O 2011 HowToADK
 
Android Studio First Step Guide
Android Studio First Step GuideAndroid Studio First Step Guide
Android Studio First Step Guide
 
第8回 HoloLens 参考書 読書会
第8回 HoloLens 参考書 読書会第8回 HoloLens 参考書 読書会
第8回 HoloLens 参考書 読書会
 

More from l_b__

Binderのはじめの一歩とAndroid
Binderのはじめの一歩とAndroidBinderのはじめの一歩とAndroid
Binderのはじめの一歩とAndroidl_b__
 
Binderのはじめの一歩
Binderのはじめの一歩Binderのはじめの一歩
Binderのはじめの一歩l_b__
 
Open binder
Open binderOpen binder
Open binderl_b__
 
Android デバッグ小ネタ
Android デバッグ小ネタAndroid デバッグ小ネタ
Android デバッグ小ネタl_b__
 
Intentの概要
Intentの概要Intentの概要
Intentの概要l_b__
 
Stagefright入門
Stagefright入門Stagefright入門
Stagefright入門l_b__
 
Stagefright入門
Stagefright入門Stagefright入門
Stagefright入門l_b__
 

More from l_b__ (7)

Binderのはじめの一歩とAndroid
Binderのはじめの一歩とAndroidBinderのはじめの一歩とAndroid
Binderのはじめの一歩とAndroid
 
Binderのはじめの一歩
Binderのはじめの一歩Binderのはじめの一歩
Binderのはじめの一歩
 
Open binder
Open binderOpen binder
Open binder
 
Android デバッグ小ネタ
Android デバッグ小ネタAndroid デバッグ小ネタ
Android デバッグ小ネタ
 
Intentの概要
Intentの概要Intentの概要
Intentの概要
 
Stagefright入門
Stagefright入門Stagefright入門
Stagefright入門
 
Stagefright入門
Stagefright入門Stagefright入門
Stagefright入門
 

Recently uploaded

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Recently uploaded (8)

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

Eclipseを使ったandroid nativeデバッグ