您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何進行Eclipse Android源碼工程調試,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
關于Eclipse Android源碼內容的詳解
1、ubuntu 下源碼編譯
***切換到root用戶下進行操作
$ sudo -s
(1)下載jdk1.5 并安裝(下載自解壓版本并設置環境變量)
編輯/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)下載源碼(網上有詳細說明)
(4)編譯源碼
$ export ANDROID_JAVA_HOME=$JAVA_HOME $ make
查看編譯過程中是否有錯誤,一般情況不會有錯誤,如果有錯誤可能是某個依賴包沒有安裝,安裝提示的依賴包后重新make
(5)生成sdk
$ make PRODUCT-sdk-sdk ###使用make sdk 會出現R文件不能自動生成的問題
編譯完成后會在/work/froyo/out/host/linux-x86/sdk/目錄生成sdk
(6)編譯完成之后查看是否編譯成功
$ . build/envsetup.sh $ emulator& //啟動模擬器,如果能成功啟動代表編譯成功。
2、Android Eclipse 中進行調試
(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 導入froyo源代碼
(2.2)展開packages/providers/CalendarProvider/src
(2.3)展開包: com.android.providers.calendar
(2.4)右鍵點擊包com.android.providers.calendar
(2.5)選擇 "new file"
(2.6)在對話框中選擇點擊 "Advanced >>" 按鈕, 可以看到"Link to file in the file system" checkbox,
(2.7)勾選上 checkbox. 這時 "Browse..." 可用.
(2.8)點擊 "Browse..." 按鈕,選擇EventLogTags.java (e.g.,out/target/common/obj/APPS/CalendarProvider_intermediates/src/src/com/android/providers/calendar/EventLogTags.java)
(2.9)點擊OK
(2.10)點擊 Finish (in "New File")
(3)同樣的方式修改com.android.providers.contacts的問題
3、調試
在IDE(eclipse)中修改源代碼后在shell中編譯運行
源碼自帶編譯工具
先在Eclipse Android 源碼根目錄執行 . build/envsetup.sh 再通過m/mm/mmm進行編譯
- 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& #調試工具
(1)修改APK應用:在packages中的應用如果修改后都可以單獨編譯。先執行
$. build/envsetup.sh #初始化 $mmm packages/providers/ContactsProvider/ ##用mm/mmm來編譯生成的.apk并不會打包到system.img中,需要我們手動通過make snod把system文件夾打包為system.img ##可以使用make snod將模塊打包到system.img中,也可以使用 adb install *.apk安裝
注:通過mmm packages/providers/ContactsProvider/ 編譯后的apk在 out/target/product/generic/system/app
這時候通過 adb install out/target/product/generic/system/app/xxx.apk 安裝你剛修改過的apk就可以在模擬器上看到你修改的效果了。
(2)修改framework:如果在Contacts.java中修改了,必須重新編譯下framework。先執行
$ . build/envsetup.sh #初始化
#網上有的說要執行 make update-api,實際上直接make PRODUCT-sdk-sdk就可以將修改后的framework編譯到sdk中。 #編譯framework后,那些修改了的應用可以不用再單獨編譯了。4~6分鐘
$ make PRODUCT-sdk-sdk #重新生成SDK 10~20分鐘.
上述內容就是如何進行Eclipse Android源碼工程調試,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。