在Intellij idea

时间:2015-10-21 07:28:48

标签: java android intellij-idea adb

在我的android项目中,我尝试使用android.support.v4.widget.DrawerLayout

之前我将其添加到libs库(cp MySdkForder/extras/android/support/v4/android-support-v4.jar MyProjectFolder/libs

之后我将它添加到classpath这样:

my project settings

所以我在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使这段代码完全正常

how idea renders this code

当我尝试启动时会出现问题。当我按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

看起来像这样

Error message

有趣的是,我甚至无法关闭它(它一次又一次地出现)。但这不是我的问题。问题是如何使android.support.v4工作?我认为我已经做了我需要的所有事情(将这个库添加到libs并创建了依赖项)并且adb仍然不想工作(如果我不使用{它工作得很好{1}},只是标准功能)

8 个答案:

答案 0 :(得分:53)

我使用的是Genymotion,我不需要安装android图像。我做了以下事情:

  1. 使用SDK管理器卸载:

    a)Android 5.1.1(API 22) - &gt; Android Wear ARM EABI v7a系统映像

    b)Android 5.1.1(API 22) - &gt; Android Wear Intel x86 Atom System Image

  2. 使用AVD管理器删除所有设备并创建新设备。

  3. 适合我。

答案 1 :(得分:12)

我刚遇到此问题:usr/lib/android/android-sdk-linux/system-images/android-22

删除android wear文件夹。

答案 2 :(得分:7)

解决方案对于Android Studio。 打开sdk经理

删除Android Wear ARM EABI v7a系统映像和Android Wear Intel x86 Atom系统映像数据包。  @gosha被告知true.works给我。

答案 3 :(得分:7)

错误解决方案: -

  1. 卸载Android Wear ARM EABI v7a系统映像。
  2. 卸载Android Wear Intel x86 Atom System Image。
  3. 重新启动Android Studio ...并享受!!

    enter image description here

答案 4 :(得分:5)

使用Android SDK Manager删除这两个软件包。

  1. ARM EABI v7a系统映像
  2. Android Wear Intel x86 Atom System Image
  3. 查看此处的图片链接以获取更多说明。  http://i.stack.imgur.com/wq2tK.png

答案 5 :(得分:1)

使用文本编辑器打开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 Files(x86)\ Android \ android-sdk \ system-images \ android-22 \ android-wear \ x86 \ devices.xml

答案 6 :(得分:0)

查看错误消息,我怀疑问题是Android虚拟设备的设置,而不是项目的任何内容。

您是否尝试在包含支持库的实际Android设备上运行该项目?如果可行,则项目设置没有问题。

如果问题是AVD,那么您需要进入AVD管理器并查看设备的设置。我自己并不经常使用VD,但一个潜在的问题是您可能在设置中缺少Google API。

编辑:

刚才注意到您对使用IntelliJ的说明。听起来您的AVD项目/ IDE设置存在一些问题。通过在一个有效的Android Studio项目上做差异,可能有可能找到并弄清楚出了什么问题,但是你可以通过简单地安装和使用Android Studio节省大量的时间和精力。它没有什么不同,但是Studio中有足够的Android专用功能,我认为即使它意味着您安装了两个或更多IDE,也是值得的。

答案 7 :(得分:0)

错误的原因是安卓在plugins/android/lib/下安装的android插件中使用的安卓版本。

我可以看到这应该在IDEA 15中解决,因为它将在插件中使用更高版本的android。该版本在 sdk-tools.jar 中打包了 devices-2.xsd 中的280dpi条目。

我试图破解当前 devices-2.xsd 的入口,但这会导致插件以后完全失败。 所以不要尝试这样做!

如果您没有进行磨损开发,那么从平台图像中删除这些目录的答案是有效的。

你也可以生活解决这个问题,方法是找出烦人的错误对话框,这样它的确定按钮就会在选择设备中选择设备在它下面的对话。然后双击。单调乏味,但你确实到了那里。