70

プロジェクトを作成し、プロジェクト、ライブラリ内のリソース ファイルをコピーし、それをプロジェクト構造に追加し、スタイルを規定しましたTheme.AppCompat。エラーなしでコンパイルされましたが、降格例外を開始すると:

08-03 00:50:00.406: ERROR/AndroidRuntime(4055): FATAL EXCEPTION: main
        java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$styleable
        at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:98)
        at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:58)
        at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98)
        at com.example.SampleMetrRost.CentralActivity.onCreate(CentralActivity.java:12)
        at android.app.Activity.performCreate(Activity.java:4636)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1051)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1924)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1985)
        at android.app.ActivityThread.access$600(ActivityThread.java:127)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1151)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:4476)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:816)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:583)
        at dalvik.system.NativeStart.main(Native Method)

お願い助けて。今日は一日中過ごしました。

4

9 に答える 9

116

Gradle の使用

Gradle を使用している場合は、compile依存関係として追加できます。

指示

  1. Android Support RepositorySDK パッケージがインストールされていることを確認してください。Android Studio は、ビルド プロセス中にこのリポジトリを自動的に認識します (プレーンな IntelliJ についてはわかりません)。

    Android サポート リポジトリ

  2. 依存関係を追加します{project}/build.gradle

    dependencies {
        compile 'com.android.support:appcompat-v7:+'
    }
    
  3. ボタンをクリックしSync Project with Gradle Filesます。

編集:これらと同じ指示が の下 のドキュメントAdding libraries with resources -> Using Android Studioにあるようです。

于 2013-08-02T21:47:26.680 に答える
85

Gradle なし ( Gradle ソリューションについては、ここをクリックしてください)

  1. サポート ライブラリ プロジェクトを作成します

  2. ライブラリ プロジェクトを Eclipse プロジェクトから Intellij にインポートします (この手順は、ライブラリを Eclipse で作成した場合にのみ適用されます)。

  3. モジュールを右クリックし、[モジュール設定を開く] を選択します。

  4. v7 jar ファイルのセットアップ ライブラリ v7 jar ファイルのセットアップ ライブラリ

  5. v7 のセットアップ ライブラリ モジュール v7 のセットアップ ライブラリ モジュール

  6. v7 ライブラリ モジュールのアプリ モジュール依存関係の設定 v7 ライブラリ モジュールのアプリ モジュール依存関係の設定

于 2013-08-08T12:23:12.170 に答える
10

Maven の使用

まず、Maven Android SDK Deployerを使用して、Android ライブラリをローカルの Maven リポジトリにインストールする必要があります。

次に、次のように pom に依存関係を追加できます。

    <dependency>
        <groupId>android.support</groupId>
        <artifactId>compatibility-v7-appcompat</artifactId>
        <version>${compatibility.version}</version>
        <type>apklib</type>
    </dependency>

    <dependency>
        <groupId>android.support</groupId>
        <artifactId>compatibility-v7-appcompat</artifactId>
        <version>${compatibility.version}</version>
        <type>jar</type>
    </dependency>
于 2013-09-03T09:09:58.777 に答える
4

もう 1 つの簡単な解決策は、これらの行を build.gradle ファイルに貼り付けることです。

dependencies {

    //import of gridlayout
    compile 'com.android.support:gridlayout-v7:19.0.0'
    compile 'com.android.support:appcompat-v7:+'
}
于 2015-08-18T14:28:07.630 に答える
4

これが私の解決策です:

  1. $ANDROID_SDK/extras/android/support/v7/appcompat をプロジェクト ROOT にコピーして貼り付けます

  2. Intellij で「プロジェクト構造」を開き、「プロジェクト設定」の「モジュール」をクリックしてから、「appcompat」->「android」をクリックし、「ライブラリ モジュール」チェックボックスがオンになっていることを確認します。

  3. 「appcompat」の下の「YOUR-PROJECT_NAME」をクリックし、「android-support-v4」と「android-support-v7-compat」を削除します。「appcompat」がチェックされる前にチェックボックスを確認してください。そして、「OK」をクリックして「プロジェクト構造」ダイアログを閉じます。

  4. メインウィンドウに戻り、左上のプロジェクトエリアで「appcompat」->「libs」をクリックします。「android-support-v4」を右クリックし、メニュー項目「ライブラリとして追加」を選択し、「モジュールに追加」を「あなたのプロジェクト」に変更します。「android-support-v7-compat」も同様です。

上記を行った後、intellij は android-support-XXXX モジュールを正しく見つけることができるはずです。

幸運を!

于 2014-07-01T07:29:23.827 に答える
3

Mavenの別の解決策(少なくとも私にとってはより良い解決策) は、ローカルの Android SDK に含まれている maven リポジトリを使用することです。これを行うには、ローカルの Android SDK を指す新しいリポジトリを pom に追加するだけです。

<repository>
    <id>android-support</id>
    <url>file://${env.ANDROID_HOME}/extras/android/m2repository</url>
</repository>

このリポジトリを追加した後、次のように標準の Google 依存関係を追加できます。

<dependency>
    <groupId>com.android.support</groupId>
    <artifactId>support-v13</artifactId>
    <version>${support-v13.version}</version>
</dependency>

<dependency>
    <groupId>com.android.support</groupId>
    <artifactId>appcompat-v7</artifactId>
    <version>${appcompat-v7.version}</version>
    <type>aar</type>
</dependency>
于 2015-03-19T19:46:56.333 に答える
1

図書館プロジェクトとして

http://developer.android.com/tools/support-library/setup.htmlに従って、ライブラリ プロジェクトにリソースを追加する必要があります。

セクション > リソースを含むライブラリの追加

次に、android-support-v7-appcompatライブラリをワークスペースに追加し、アプリ プロジェクトへの参照として追加します。

アプリ プロジェクト内のすべてのリソースを定義することもできますが (ただし、追加する定義が多数あり、それらのいくつかを見逃しています)、これは推奨される方法ではありません。

于 2013-08-02T21:15:40.167 に答える
0

これは私の解決策です。前のものと非常によく似ています。

<dependency>
        <groupId>com.google.android</groupId>
        <artifactId>support-v7</artifactId>
        <scope>system</scope>
        <systemPath>${android.home}/support/v7/appcompat/libs/android-support-v7-appcompat.jar</systemPath>
        <version>19.0.1</version>
</dependency>

{android.home} は Android SDK のルート ディレクトリであり、repositoryの代わりにsystemPathを使用します。

于 2015-05-06T15:51:15.367 に答える