天天看點

學習android(二)如何調試android應用源代碼

           為了學習android應用開發,學習源代碼是最好的方式之一。于是我網上下載下傳了一個源代碼:MyContacts通訊錄。打開eclipse,菜單使用import 導入源代碼,完畢後,工程出現錯誤。

         一.應用開發包報錯,所有的import android.*;都報無發現該類庫的錯誤。好吧,這個源代碼不攜帶android的SDK,于是我點了工程,右鍵點Build Path,點Add External Archivees,在選擇框找到我本地的android SDK的lib庫目錄D:\Program Files\Android\android-sdk\platforms\android-10的android.jar,選到jar檔案确定導入,工程的應用包錯誤立馬消失。

         二.工程包的錯誤全部消失,但是工程還是有錯誤的叉叉,想運作下試試,提示有error不能運作。好吧,不關應用檔案的問題,那就關整個項目的問題,估計是哪裡的資訊尚不契合,有可能是版本資訊?

打開工程的project.properties,根據QQ群群友的說明,找到整個工程使用的sdk版本資訊是target=android-5,這個明顯跟我昨天安裝本地SDK不對應了,看看目錄就知道我本地是android-10,于是我将project.properties檔案的target=android-5改成target=android-10,重新整理,一下錯誤消失。

         三.繼續運作,還是報錯:conversion to dalvik format failed with error 1,把這資訊扔到網上搜尋,說是android低版本工程(如1.5)放到高版本環境中(如2.2)可能會上述錯誤。并附加下面的解決方法:

================================================================================= 

1.如果不修改android sdk版本,則使用project clean 指令作用于某工程即可。

      (該處理方式隻是在高版本中相容了低版本工程,未真正意義上的更新)

2.如果修改android sdk版本,則需要以下幾個步驟:

1)修改SDK

 選擇工程,build path --> configure build path ---> library 删除引用的低版本SDK,

 然後add External JARs,選擇高版本SDK,OK,儲存

2)修改classpath檔案

 該檔案可能存在該項: <classpathentry kind="lib"  path ="你所指定的高版本的位址"

 把她修改成<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK" />

3) 修改AndroidManifest.xml

 在AndroidManifest.xml檔案中,application标簽後添加<uses-sdk android:minSdkVersion="3"></uses-sdk>

4) 修改default.properties(很重要)

 該檔案最後一行(前面沒用#的)target=android-3 該成target=android-8,儲存。

再看看你的工程和建立的android 2.2的工程結構就一樣了。

================================================================================= 

   四. 我使用了第一個方法project clean,結果是無效,郁悶。對應第二個方法也修改了資訊,還是錯誤

網上看了看,說是:

================================================================================= 

http://blog.sina.com.cn/s/blog_70fd7a7b0100wp7b.html

...其實這個錯誤很簡單,你的jar包在工程裡面不止一個,是以删除其他,留一個jar包即可,然後重新運作工程...

================================================================================= 

    有了點啟發,難道重複了?莫非步驟1是不需要的,而使用project clean就會自動給這個工程添加Android 2.3.3的jar包嗎?于是我點Build Path,點configure Build Path,打開界面,果然出了自己手動添加的android.jar,還有系統自動添加的Android 2.3.3lib庫,于是我把之前手動關聯jar remove掉,順便整理下AndroidManifest.xml,參照我hello想項目配置檔案,把下面三行移動到最前面,不然總有波浪線提示,不舒服,這個應該無關大局。

   <uses-sdk android:minSdkVersion="10" />

   <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>

   <uses-permission android:name="android.permission.SEND_SMS"></uses-permission>

   <uses-permission android:name="android.permission.RECEIVE_SMS" /> 

    好了,到這一步,run as android project,如期運作,非常好。

繼續閱讀