2015-05-30 遇到的常用問題appcompat_v7-探究方法

1.R.java文件不見了。這個會造成你所有引用R資源的地方都會報錯。看着這麼多多錯誤,你可能有點不淡定。但是請保持冷靜,那只是一個錯誤。

就是R.java文件缺失。

一般我對待問題的方式是,先解決問題在探究其理論,沒有解決問題,講理論,我自己沒有底氣。

首先解決的方法有:(摘錄網上)

1、選擇菜單  Project >> Clean ,前提是勾選上 Bulid Automatically(自動構建部署) , 點Clean後會重新構建項目,因爲一般情況下,R.java文件在這個時候會重新更新生成一邊,如果工程有錯,就不會自動生成。

2、選擇工程,右鍵 Android Tools >> Fix Project Properties 這個操作有時候可以修正一些錯誤,但我的不行。

3、還有的說法是重新建一個空的工程,然後把這裏面的代碼,資源文件按照對應的包路徑什麼的拷進去,然後重新生成一邊,這種方法,也想當於是第一種方法,都是重新構建部暑,性質一樣的。  不到萬不得已別用

用了前面兩種方法之後,還是沒有成功產生R.java。沒有修復問題。網上的解決方法:

隨便點了一個有錯誤的佈局XML文件,看到這樣一個錯誤代碼android:layout_height="match_parent" , 之前我都用1.5/1.6/2.1 版本的SDK layout_height裏面沒有看到match_parent這個屬性,然後問羣一個兄弟說這個屬性是2.X版本的,想了下,是不是因爲工程的SDK版本和eclipse默認的SDK版本問題呢,於是選擇工程,右鍵 Properties >> Android 然後看到右邊的一塊 Target Name, 我的是選中 Android 1.5,然後換了一個 2.1 的 ,點擊Appply ,工程自動構建,看到錯誤少了一些,換到2.2,重新構建,錯誤沒了,久未解決的問題解決了,R.java也出來了,一個字高興啊,啓動模擬器一切正常。 

而我個人的不一樣,我的target最低也是4.4.2。後來我想起我有個操作時刪除了Library。我重新添加上之後,執行方法1,2都重新生成了R.java

appcompat_v7是什麼呢?有什麼作用?

是一個Library Project, 作用是讓你的Android Project 在API 7+的sdk版本(即Android2.1版本)可以訪問ActionBar的API,ActionBar相當於用戶界面的操作欄,具體ActionBar的解釋可以參考:http://developer.android.com/guide/topics/ui/actionbar.html。所以從中可以看出多出這個project是爲了兼容低版本的sdk,那我們創建的Android項目是如何引用這個類庫項目呢?通過右鍵點擊Android項目---->Properties-->Android,可以查看到該類庫項目已被引用進來了


原因已查明,可以驗證一下:

首先創建一個Android項目,在選擇Android版本號的界面,如果選擇的最低Android版本的"大版本號”小於編譯時採用的Android大版本號時,就需要考慮版本兼容問題,這樣子創建出項目後自然就會產生出appcompat_v7這個類庫項目出來。具體界面如下圖,如果編譯時採用4.3版本,選擇最低要求版本號爲2.x或者3.x時創建出來的項目就會自動創建appcompat_v7支持庫。

疑問:

可以不產生appcompat_v7這個類庫項目嗎?答案是可以的,只要版本號選擇時最低要求版本和編譯時用的版本選擇同一種即可,但不推薦這麼幹,開發Android程序需要考慮兼容多個版本


引用:http://www.cnblogs.com/peach/p/4112207.html

二 第二個問題是導入了錯誤的包。

其實這是一個簡單的問題。但是如果您看到錯誤是如此多,而且使用quick fix處理之後還是一把錯誤。

不要心慌,不要亂改。先將出現問題的那個類,在百度或者谷歌上搜一搜,知道它所屬的包有那些,對號入座導入您需要的包即可。

My問題:導入的包應該爲androd.os.Handler,不是java.util.logging.Handler;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章