簡體   English   中英

在Intellij中使用android.support.v4庫

[英]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圖像。 我做了以下事情:

  1. 使用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

  2. 使用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給我。

錯誤解決方案: -

  1. 卸載Android Wear ARM EABI v7a系統映像。
  2. 卸載Android Wear Intel x86 Atom System Image。

重新啟動Android Studio ...並享受!!

在此輸入圖像描述

使用Android SDK Manager刪除這兩個包。

  1. ARM EABI v7a系統映像
  2. Android Wear Intel x86 Atom System Image

查看此處的圖像鏈接以獲得更多說明。 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM