web-dev-qa-db-ja.com

IntellijアイデアでAndroid.support.v4ライブラリを使用する

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のどこかで撮ったものです

アイデアはこのコードを完全にレンダリングします

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はまだ動作しません(動作しない場合は完全に動作します) Android.support.v4、標準機能のみを使用してください)

24
PepeHands

Genymotionを使用していますが、Android画像を着用する必要はありません。

  1. SDKマネージャーを使用してアンインストール:

    a)Android 5.1.1(API 22)-> Android Wear ARM EABI v7a System Image

    b)Android 5.1.1(API 22)-> Android Intel x86を着用Atomシステムイメージ

  2. AVDマネージャーを使用してすべてのデバイスを削除し、新しいデバイスを作成します。

私のために働く。

53
IgorOK

私はちょうどこの問題をここに持っていました:usr/lib/Android/android-sdk-linux/system-images/Android-22

そして、Android wearフォルダーを削除します。

12
user5471688

エラー解決策:-

  1. アンインストールAndroid Wear ARM EABI v7a System Image。
  2. アンインストールAndroid Wear Intel x86 Atomシステムイメージ。

再起動Android Studio ... and enjoy !!

enter image description here

7
Abhishek Tamta

Android Studioの場合。SDKマネージャーを開く

delete Android Wear ARM EABI v7a System Image and and Android Wear Intel x86 Atomシステムイメージパケット:@goshaにtrue.worksが通知されます。

7
Numan Turkeri

Android SDK Managerを使用して、これら2つのパッケージを削除します。

  1. ARM EABI v7aシステムイメージ
  2. Android Wear Intel x86 Atomシステムイメージ

詳細については、こちらの画像リンクをご覧ください。 http://i.stack.imgur.com/wq2tK.png

5
Siddarth Kanted

テキストエディターを使用して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を閉じます。 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

1
Peter Moh

エラーの原因は、plugins/Android/lib/の下にインストールされているAndroidプラグインでアイデアによって使用されているAndroidのバージョンです。

プラグインでIDEAの新しいバージョンを使用するため、Android 15でこれに対処する必要があることがわかります。そのバージョンには、sdk-tools.jarにパッケージ化されているdevices-2.xsd280dpiのエントリがあります。

現在のdevices-2.xsdにエントリをハックしようとしましたが、それによりプラグインが後で完全に失敗します。 だからやってはいけない!

ウェア開発を行っていない場合、プラットフォームイメージからそれらのディレクトリを削除するという回答は有効です。

また、迷惑なエラーダイアログを配置することで、問題があるliveをクリックして、クリックしようとしている要素の上にokボタンがあるようにすることもできますChoose Deviceダイアログ次にダブルクリックします。退屈ですが、あなたはそこに着きます。

0
John Williams

エラーが表示されます。情報を取得できます。このエラーはsdk/system-iamges/Android-22/Android-wear iamgeに関するものです。

したがって、sdk/system-iamges/Android-22/Android-wearディレクトリを削除できます。わたしにはできる!

0
GeekHades

エラーメッセージを見ると、問題はプロジェクトにあるものではなく、Android Virtual Deviceのセットアップにあると思われます。

プロジェクトを実際のAndroidサポートライブラリを含むデバイスで実行しようとしましたか?それが機能する場合、プロジェクトのセットアップに問題はありません。

推測されるように、問題がAVDである場合、AVDマネージャーにアクセスして、デバイスのセットアップがどのように見えるかを調べる必要があります。私はVDをあまり使いませんが、潜在的な問題の1つは、セットアップでGoogle APIが欠落している可能性があることです。

編集:

IntelliJの使用に関する説明を書き留めました。 AVDのプロジェクト/ IDEセットアップに問題があるようです。おそらく、作業中のAndroid Studioプロジェクトでdiffを実行することにより、何が間違っているのかを見つけ出すことが可能ですが、インストールするだけで時間と労力を大幅に節約できますそして、Android Studio。これはそれほど違いはありませんが、StudioにはAndroid固有の機能が十分にあるため、2つ以上のIDEがインストールされている場合でも価値があると思います。

0
Michael A.