日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android eclipse services,Eclipse中调试Android Framework本地代码模块部分过程记录

發(fā)布時間:2023/12/10 Android 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android eclipse services,Eclipse中调试Android Framework本地代码模块部分过程记录 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

環(huán)境:Amlogic S905M2 +

ubunt12.04 + win7 + adt_bundle_linux + Android SDK

過程:

1.

為避免用Eclipse基礎(chǔ)版本(Luna)后需要安裝包括adt、cdt等插件麻煩,直接解壓adt_bundle_linux安裝IDE環(huán)境

2.

調(diào)試準備:目標設(shè)備(Amlogic S905M2

)中需要有g(shù)dbserver;host主機(ubuntu)中需要交叉編譯版本的gdb。gdb可采用$(AOSPROOT)\prebuilts\gcc\linux-x86\arm\arm-eabi-4.7\bin已編譯好的版本(這里需要注意的是$(AOSPROOT)\prebuilts\gcc\linux-x86\arm目錄下存在多個版本,選擇--version執(zhí)行無差錯的,僅供參考),相應(yīng)的在目錄$(AOSPROOT)\prebuilts\misc\android-arm\gdbserver,ps:注意確保兩者版本的一致性。

3. 具體步驟:

(1)新建工程項目,導入代碼。啟動Eclipse后,File->New Project->Makefile Project

with Existing Code

(2)點擊Next,配置project,點擊Finish

(3)設(shè)置property。載入源碼為了編輯和跟蹤,而不是為了編譯工程,因此需要Disable編譯選項。在Property窗口中的C/C++

Build中的Builder Settings中取消Use default build

command,并隨意填寫個編譯器的名稱

(4)編譯要調(diào)試部分源碼的debug版本(帶調(diào)試symbol,AOSP源碼在linux中編譯)。

cd?$(AOSPROOT)

#source

build/envsetup.sh

#lunch

$(DEVICE_MODULE_NAME)(僅限于與Amlogic S905M2 相關(guān)的device部分)

#cd

$(AOSPROOT)/framework/native/services/surfaceflinger

#vi

Android.mk?(將其中的LOCAL_CFLAGS加上"

-O0 -g ")

#mm

-B LOCAL_STRIP_MODULE=false

(5)燒錄。不采取整體的燒錄,只將前一步驟生成的libsurfaceflinger.so上傳至設(shè)備的/system/bin目錄中,reboot設(shè)備重啟即可

#adb

connect?DeviceIP

#adb

push

$(AOSPROOT)/out/target/product/XXX/symbols/system/lib/libsurfaceflinger.so

#reboot

(6)遠程調(diào)試其它配置。在Eclipse調(diào)試之前,需要告訴gdb哪里去查找標準庫的符號信息,新建配置文件gdb4android.cmds,添加如下內(nèi)容

set

solib-absolute-prefix

$(AOSPROOT)/out/target/product/cmcc_zhejiang/symbols

set

solib-search-path

$(AOSPROOT)/out/target/product/cmcc_zhejiang/symbols/system/bin:

solib-search-path

$(AOSPROOT)/out/target/product/cmcc_zhejiang/symbols/system/lib

(7)Debug

Configuration配置如下

展開Debug

Tab,設(shè)置GDB debugger和GDB command file,點擊Apply后Close

點擊Debugger的子TAB-Connection

(8)設(shè)置調(diào)試會話

Device端:

setprop

service.adb.tcp.port 5555

stop

adbd

start

adbd

host端:

#adb

connect?DeviceIP

#adb

forward tcp:10000 tcp:10000

#adb

shell gdbserver :10000

--attach?THREADIP(THREADIP為SurfaceFlinger進程ID號)

Eclipse點擊Debug后,在device端任意移動焦點就可進入斷點(SurfaceFlinger相關(guān)類中)

調(diào)試Android

Framework本地代碼部分通常采用打印輸出來進行調(diào)試較為普遍,而常用上述直觀的斷點調(diào)試在整個過程中會遇到諸多的問題,連接問題、設(shè)備彈出、設(shè)備重啟需要重新設(shè)置連接等,所幸最終能成功搭建好并成功進入設(shè)置的斷點,也是碰到并解決了諸多的問題,使用各種工具,mark一下^@^

總結(jié)

以上是生活随笔為你收集整理的android eclipse services,Eclipse中调试Android Framework本地代码模块部分过程记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。