在我的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
仍然不想工作(如果我不使用{它工作得很好{1}},只是标准功能)
答案 0 :(得分:53)
我使用的是Genymotion,我不需要安装android图像。我做了以下事情:
使用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
使用AVD管理器删除所有设备并创建新设备。
适合我。
答案 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)
错误解决方案: -
答案 4 :(得分:5)
使用Android SDK Manager删除这两个软件包。
查看此处的图片链接以获取更多说明。 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 的入口,但这会导致插件以后完全失败。 所以不要尝试这样做!
如果您没有进行磨损开发,那么从平台图像中删除这些目录的答案是有效的。
你也可以生活解决这个问题,方法是找出烦人的错误对话框,这样它的确定按钮就会在选择设备>中选择设备>在它下面的对话。然后双击。单调乏味,但你确实到了那里。