本篇文章為大家展示了如何進(jìn)行Eclipse Android源碼工程調(diào)試,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出息縣免費(fèi)做網(wǎng)站回饋大家。
關(guān)于Eclipse Android源碼內(nèi)容的詳解
1、ubuntu 下源碼編譯
***切換到root用戶下進(jìn)行操作
$ sudo -s
(1)下載jdk1.5 并安裝(下載自解壓版本并設(shè)置環(huán)境變量)
編輯/root/.bashrc 添加
#set java environment export JAVA_HOME=/work/jdk1.5.0_22 export JRE_HOME=JAVA_HOME/jre export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export SDK_HOME=/work/froyo/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86/tools export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:$SDK_HOME:/work/froyo/out/host/linux-x86/bin export ANDROID_PRODUCT_OUT=/work/froyo/out/target/product/generic
(2)安裝(apt-get install xxx)
git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
(3)下載源碼(網(wǎng)上有詳細(xì)說明)
(4)編譯源碼
$ export ANDROID_JAVA_HOME=$JAVA_HOME $ make
查看編譯過程中是否有錯(cuò)誤,一般情況不會(huì)有錯(cuò)誤,如果有錯(cuò)誤可能是某個(gè)依賴包沒有安裝,安裝提示的依賴包后重新make
(5)生成sdk
$ make PRODUCT-sdk-sdk ###使用make sdk 會(huì)出現(xiàn)R文件不能自動(dòng)生成的問題
編譯完成后會(huì)在/work/froyo/out/host/linux-x86/sdk/目錄生成sdk
(6)編譯完成之后查看是否編譯成功
$ . build/envsetup.sh $ emulator& //啟動(dòng)模擬器,如果能成功啟動(dòng)代表編譯成功。
2、Android Eclipse 中進(jìn)行調(diào)試
(1)拷貝development/ide/eclipse/.classpath到源代碼根目錄并修改.classpath
刪除下面兩行
<classpathentry kind="lib" path="out/target/common/obj/JAVA_LIBRARIES/google-common_intermediates/javalib.jar"/> <classpathentry kind="lib" path="out/target/common/obj/JAVA_LIBRARIES/gsf-client_intermediates/javalib.jar"/>
添加
<classpathentry kind="lib" path="/work/froyo/out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/javalib.jar"/>
(2)在eclipse中修改
(2.1)通過create project from existing source 導(dǎo)入froyo源代碼
(2.2)展開packages/providers/CalendarProvider/src
(2.3)展開包: com.android.providers.calendar
(2.4)右鍵點(diǎn)擊包c(diǎn)om.android.providers.calendar
(2.5)選擇 "new file"
(2.6)在對(duì)話框中選擇點(diǎn)擊 "Advanced >>" 按鈕, 可以看到"Link to file in the file system" checkbox,
(2.7)勾選上 checkbox. 這時(shí) "Browse..." 可用.
(2.8)點(diǎn)擊 "Browse..." 按鈕,選擇EventLogTags.java (e.g.,out/target/common/obj/APPS/CalendarProvider_intermediates/src/src/com/android/providers/calendar/EventLogTags.java)
(2.9)點(diǎn)擊OK
(2.10)點(diǎn)擊 Finish (in "New File")
(3)同樣的方式修改com.android.providers.contacts的問題
3、調(diào)試
在IDE(eclipse)中修改源代碼后在shell中編譯運(yùn)行
源碼自帶編譯工具
先在Eclipse Android 源碼根目錄執(zhí)行 . build/envsetup.sh 再通過m/mm/mmm進(jìn)行編譯
- m: Makes from the top of the tree. - mm: Builds all of the modules in the current directory. - mmm: Builds all of the modules in the supplied directories.
$cd /path/to/android/root $. build/envsetup.sh $lunch 1 # 初始化模擬器等 $make/m/mm/mmm # $emulator& # you should see a GUI picture of a phone $ddms& #調(diào)試工具
(1)修改APK應(yīng)用:在packages中的應(yīng)用如果修改后都可以單獨(dú)編譯。先執(zhí)行
$. build/envsetup.sh #初始化 $mmm packages/providers/ContactsProvider/ ##用mm/mmm來編譯生成的.apk并不會(huì)打包到system.img中,需要我們手動(dòng)通過make snod把system文件夾打包為system.img ##可以使用make snod將模塊打包到system.img中,也可以使用 adb install *.apk安裝
注:通過mmm packages/providers/ContactsProvider/ 編譯后的apk在 out/target/product/generic/system/app
這時(shí)候通過 adb install out/target/product/generic/system/app/xxx.apk 安裝你剛修改過的apk就可以在模擬器上看到你修改的效果了。
(2)修改framework:如果在Contacts.java中修改了,必須重新編譯下framework。先執(zhí)行
$ . build/envsetup.sh #初始化
#網(wǎng)上有的說要執(zhí)行 make update-api,實(shí)際上直接make PRODUCT-sdk-sdk就可以將修改后的framework編譯到sdk中。 #編譯framework后,那些修改了的應(yīng)用可以不用再單獨(dú)編譯了。4~6分鐘
$ make PRODUCT-sdk-sdk #重新生成SDK 10~20分鐘.
上述內(nèi)容就是如何進(jìn)行Eclipse Android源碼工程調(diào)試,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)頁題目:如何進(jìn)行EclipseAndroid源碼工程調(diào)試
網(wǎng)站網(wǎng)址:http://chinadenli.net/article4/jeceie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、品牌網(wǎng)站制作、網(wǎng)站維護(hù)、網(wǎng)站導(dǎo)航、App設(shè)計(jì)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)