學習android(二)如何調試android應用原始碼

來源:互聯網
上載者:User

         為了學習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,如期運行,非常好。

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.