在 Intellij IDEA 中使用 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
某处拍的
想法使这段代码完全没问题
当我尝试启动它时出现问题。当我按 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
,只是标准功能)
查看错误消息,我怀疑问题是您的 Android 虚拟设备的设置,而不是项目的任何问题。
您是否在包含支持库的实际 Android 设备上尝试过 运行 项目?如果可行,则您的项目设置没有问题。
如果问题出在 AVD 上,正如推测的那样,您需要进入 AVD 管理器并查看设备的设置情况。我自己并不经常使用 VD,但一个潜在的问题是您可能在设置中缺少 Google API。
编辑:
刚刚注意到您对使用 IntelliJ 的澄清。听起来您的 project/IDE AVD 设置有一些问题。通过对工作中的 Android Studio 项目进行比较,可能可以找到并找出问题所在,但您可能会通过简单地安装和使用 [=21] 来节省大量时间和精力=] 工作室。差别不大,但 Studio 中有足够的 Android 特定功能,我认为这是值得的,即使这意味着您安装了两个或更多 IDE。
我刚遇到这个问题:usr/lib/android/android-sdk-linux/system-images/android-22
并删除 android wear 文件夹。
使用文本编辑器打开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
关闭日食。重新启动日食。错误应该消失。
如果您正在使用 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
我正在使用 Genymotion,我不需要 android 佩戴图像。我做了以下操作:
使用 SDK 管理器卸载:
a) Android 5.1.1 (API 22) -> Android 佩戴 ARM EABI v7a 系统映像
b) Android 5.1.1 (API 22) -> Android 使用 Intel x86 Atom 系统映像
已使用 AVD 管理器删除所有设备并创建新设备。
适合我。
android Studio 的解决方案。
打开 sdk 管理器
删除Android Wear ARM EABI v7a 系统映像和Android Wear Intel x86 Atom 系统映像数据包。
@gosha 被告知 true.works 我。
使用 Android SDK 管理器删除这 2 个包。
- ARM EABI v7a 系统映像
- Android 使用 Intel x86 Atom 系统映像
在此处查看图像 link 以获得更多说明。
http://i.stack.imgur.com/wq2tK.png
错误的原因是安装在plugins/android/lib/
.
下的android插件idea使用的android版本
我可以看到这应该在 IDEA 15 中解决,因为它将在插件中使用更高版本的 android。该版本在 devices-2.xsd 中有一个 280dpi
条目,打包在 sdk-tools.jar.
我试图破解当前 devices-2.xsd 的入口,但这会导致插件稍后完全失败。 所以不要尝试这样做!
如果您不进行磨损开发,那么从平台映像中删除这些目录的答案是有效的。
您还可以 解决 问题,方法是定位烦人的错误对话框,这样就可以了,按钮位于您尝试点击的元素上方 选择它下方的 Device 对话。然后双击。乏味,但你确实做到了。
我们可以看到错误:我们可以获取信息,这个错误是关于 sdk/system-iamges/android-22/android-wear iamge。
所以我们可以删除sdk/system-iamges/android-22/android-wear目录。对我有用!
错误解决方法:-
- 卸载Android安装ARM EABI v7a系统映像。
- 卸载Android使用 Intel x86 Atom 系统映像。
重新启动 Android Studio...尽情享受吧!!
在我的 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
想法使这段代码完全没问题
当我尝试启动它时出现问题。当我按 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
,只是标准功能)
查看错误消息,我怀疑问题是您的 Android 虚拟设备的设置,而不是项目的任何问题。
您是否在包含支持库的实际 Android 设备上尝试过 运行 项目?如果可行,则您的项目设置没有问题。
如果问题出在 AVD 上,正如推测的那样,您需要进入 AVD 管理器并查看设备的设置情况。我自己并不经常使用 VD,但一个潜在的问题是您可能在设置中缺少 Google API。
编辑:
刚刚注意到您对使用 IntelliJ 的澄清。听起来您的 project/IDE AVD 设置有一些问题。通过对工作中的 Android Studio 项目进行比较,可能可以找到并找出问题所在,但您可能会通过简单地安装和使用 [=21] 来节省大量时间和精力=] 工作室。差别不大,但 Studio 中有足够的 Android 特定功能,我认为这是值得的,即使这意味着您安装了两个或更多 IDE。
我刚遇到这个问题:usr/lib/android/android-sdk-linux/system-images/android-22
并删除 android wear 文件夹。
使用文本编辑器打开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
关闭日食。重新启动日食。错误应该消失。
如果您正在使用 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
我正在使用 Genymotion,我不需要 android 佩戴图像。我做了以下操作:
使用 SDK 管理器卸载:
a) Android 5.1.1 (API 22) -> Android 佩戴 ARM EABI v7a 系统映像
b) Android 5.1.1 (API 22) -> Android 使用 Intel x86 Atom 系统映像
已使用 AVD 管理器删除所有设备并创建新设备。
适合我。
android Studio 的解决方案。 打开 sdk 管理器
删除Android Wear ARM EABI v7a 系统映像和Android Wear Intel x86 Atom 系统映像数据包。 @gosha 被告知 true.works 我。
使用 Android SDK 管理器删除这 2 个包。
- ARM EABI v7a 系统映像
- Android 使用 Intel x86 Atom 系统映像
在此处查看图像 link 以获得更多说明。 http://i.stack.imgur.com/wq2tK.png
错误的原因是安装在plugins/android/lib/
.
我可以看到这应该在 IDEA 15 中解决,因为它将在插件中使用更高版本的 android。该版本在 devices-2.xsd 中有一个 280dpi
条目,打包在 sdk-tools.jar.
我试图破解当前 devices-2.xsd 的入口,但这会导致插件稍后完全失败。 所以不要尝试这样做!
如果您不进行磨损开发,那么从平台映像中删除这些目录的答案是有效的。
您还可以 解决 问题,方法是定位烦人的错误对话框,这样就可以了,按钮位于您尝试点击的元素上方 选择它下方的 Device 对话。然后双击。乏味,但你确实做到了。
我们可以看到错误:我们可以获取信息,这个错误是关于 sdk/system-iamges/android-22/android-wear iamge。
所以我们可以删除sdk/system-iamges/android-22/android-wear目录。对我有用!
错误解决方法:-
- 卸载Android安装ARM EABI v7a系统映像。
- 卸载Android使用 Intel x86 Atom 系统映像。
重新启动 Android Studio...尽情享受吧!!