[英]using android.support.v4 library in Intellij idea
在我的android項目中,我嘗試使用android.support.v4.widget.DrawerLayout
。
在它之前我將它添加到libs
庫( cp MySdkForder/extras/android/support/v4/android-support-v4.jar MyProjectFolder/libs
)
之后我將它添加到classpath
如下所示:
所以我的main.xml
文件中有這樣的代碼
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ListView android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#111" />
</android.support.v4.widget.DrawerLayout>
這是我在developer.android.com
某個地方
Idea使這段代碼完全正常
當我嘗試啟動它時問題就開始了。 當我按下run
我有來自adb
的以下錯誤
Cannot reload AVD list: cvc-enumeration-valid: Value '280dpi' is not facet-valid with respect to enumeration '[ldpi, mdpi, tvdpi, hdpi, xhdpi, 400dpi, xxhdpi, 560dpi, xxxhdpi]'. It must be a value from the enumeration.
Error parsing /usr/lib/android/android-sdk-linux/system-images/android-22/android-wear/armeabi-v7a/devices.xml
cvc-enumeration-valid: Value '280dpi' is not facet-valid with respect to enumeration '[ldpi, mdpi, tvdpi, hdpi, xhdpi, 400dpi, xxhdpi, 560dpi, xxxhdpi]'. It must be a value from the enumeration.
Error parsing /usr/lib/android/android-sdk-linux/system-images/android-22/android-wear/x86/devices.xml
cvc-enumeration-valid: Value '280dpi' is not facet-valid with respect to enumeration '[ldpi, mdpi, tvdpi, hdpi, xhdpi, 400dpi, xxhdpi, 560dpi, xxxhdpi]'. It must be a value from the enumeration.
Error parsing /usr/lib/android/android-sdk-linux/system-images/android-22/android-wear/armeabi-v7a/devices.xml
cvc-enumeration-valid: Value '280dpi' is not facet-valid with respect to enumeration '[ldpi, mdpi, tvdpi, hdpi, xhdpi, 400dpi, xxhdpi, 560dpi, xxxhdpi]'. It must be a value from the enumeration.
Error parsing /usr/lib/android/android-sdk-linux/system-images/android-22/android-wear/x86/devices.xm
看起來像這樣
有趣的是,我甚至無法關閉它(它一次又一次地出現)。 但這不是我的問題。 問題是如何使這個android.support.v4
工作? 因為我認為我已經做了我需要的一切(將這個庫添加到libs
並創建了依賴項)並且adb
仍然不想工作(它工作得很好如果我不使用android.support.v4
,只是標准功能)
我正在使用Genymotion,我不需要安裝android圖像。 我做了以下事情:
使用SDK管理器卸載:
a)Android 5.1.1(API 22) - > Android Wear ARM EABI v7a系統映像
b)Android 5.1.1(API 22) - > Android Wear Intel x86 Atom System Image
使用AVD管理器刪除所有設備並創建新設備。
適合我。
我剛才遇到這個問題: usr/lib/android/android-sdk-linux/system-images/android-22
並刪除android Wear文件夾。
解決方案適用於Android Studio。 打開sdk經理
刪除Android Wear ARM EABI v7a系統映像和Android Wear Intel x86 Atom系統映像數據包。 @gosha被告知true.works給我。
使用Android SDK Manager刪除這兩個包。
查看此處的圖像鏈接以獲得更多說明。 http://i.stack.imgur.com/wq2tK.png
使用文本編輯器打開Android \\ android-sdk \\ system-images \\ android-22 \\ android-wear \\ armeabi-v7a \\ devices.xml搜索280dpi
將其更改為hdpi
對Android \\ android-sdk \\ system-images \\ android-22 \\ android-wear \\ x86 \\ devices.xml執行相同的操作
關閉日食。 重啟eclipse。 錯誤應該消失。
如果你正在使用Windows,文件可能在C:\\ Program Files(x86)\\ Android \\ android-sdk \\ system-images \\ android-22 \\ android-wear \\ armeabi-v7a \\ devices.xml C:\\ Program文件(x86)\\ Android \\ android-sdk \\ system-images \\ android-22 \\ android-wear \\ x86 \\ devices.xml
查看錯誤消息,我懷疑問題是Android虛擬設備的設置,而不是項目的任何設置。
您是否嘗試在包括支持庫的實際Android設備上運行該項目? 如果可行,則項目設置沒有問題。
如果問題是AVD,那么您需要進入AVD管理器並查看設備的設置。 我自己並不經常使用VD,但一個潛在的問題是您可能在設置中缺少Google API。
編輯:
剛剛注意到您對使用IntelliJ的說明。 聽起來您的AVD項目/ IDE設置存在一些問題。 通過在一個有效的Android Studio項目上做差異,可能有可能找到並弄清楚出了什么問題,但是你可以通過簡單地安裝和使用Android Studio節省大量的時間和精力。 它沒有什么不同,但是Studio中有足夠的Android專用功能,我認為它是值得的,即使它意味着您安裝了兩個或更多IDE。
錯誤的原因是android的插件安裝在plugins/android/lib/
下的plugins/android/lib/
。
我可以看到這應該在IDEA 15中解決,因為它將在插件中使用更高版本的android。 該版本在其設備 280dpi
中有一個280dpi
的條目,它包裝在sdk-tools.jar中 。
我試圖入侵當前的設備 - 2.xsd,但這導致插件在以后完全失敗。 所以不要嘗試這樣做!
如果您沒有進行磨損開發,那么從平台圖像中刪除這些目錄的答案是有效的。
您也可以與問題通過定位惱人的錯誤對話,它的確定按鈕,在其曾經元素您要點擊選擇它下面的設備對話住 。 然后雙擊。 單調乏味,但你確實到了那里。
我們可以看到錯誤:我們可以得到信息,這個錯誤是關於sdk / system-iamges / android-22 / android-wear iamge。
所以我們可以刪除sdk / system-iamges / android-22 / android-wear目錄。 這個對我有用!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.