2

Android プロジェクトを Maven から Gradle に移行しようとしたところ、次のエラーが発生しました。

Gradle: 指定された名前に一致するリソースが見つかりません: attr 'mdActiveIndicator'.

解決策を見つけるためにご協力いただきありがとうございます。

これは私のプロジェクトの構造です:

MediaProject
   build.gradle (%1)
   settings.gradle  (%2)
   HoloCircleSeekBar
       build.gradle (%3)
       src/main/res/values
           attrs.xml  (%4)
   MediaAppli
       telecommande
           build.gradle (%5)
           src/main/res/values
          styles.xml (%6)

MediaProject の build.gradle の内容 (%1)

allprojects {
    repositories {
        mavenCentral()
    }
}

MediaProject の settings.gradle の内容 (%2)

include ':HoloCircleSeekBar',':MediaAppli:telecommande'

HoloCircleSeekBar の build.gradle の内容 (%3)

    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:0.4'
        }
    }

apply plugin: 'android-library'

dependencies {
    compile files('libs/android-support-v4.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

テレコマンドの attrs.xml の内容 (%4)

<resources>
    <attr name="menuDrawerStyle" format="reference" />
    <declare-styleable name="MenuDrawer">
        <attr name="mdMenuSize" format="dimension" />
        <attr name="mdActiveIndicator" format="reference" />
    </declare-styleable>
</resources>

テレコマンドの build.gradle の内容 (%5)

buildscript {
    repositories {
        mavenCentral()
        maven {
            url "http://repo1.maven.org/maven2"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
    compile project(':HoloCircleSeekBar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

テレコマンドの styles.xml の内容 (%6)

  <style name="MenuDrawerStyle.Right" parent="MenuDrawer.Widget">
        <item name="mdActiveIndicator">@drawable/menu_arrow_right</item>
        <item name="mdMenuSize">150dp</item>
    </style>
4

3 に答える 3

1

Gradle ライブラリにカスタム属性を使用している場合は、そのようにマークすることを忘れないでください。ライブラリの gradle ビルド ファイルには次のものが必要です。

apply plugin: 'android-library'

それ以外の

apply plugin: 'android'

属性を使用できなかった理由はよくわかりませんが、現在は機能しています。

于 2013-11-08T09:38:44.947 に答える
0

私の問題は私のプロジェクトで、そのライブラリには同じ名前の宣言スタイル可能オブジェクトが 2 つあります。私のプロジェクトの宣言スタイル可能オブジェクトは、ライブラリの宣言スタイル可能オブジェクトをオーバーライドしました。

だからエラー

gradle : エラー 指定された名前に一致するリソースが見つかりません: attr

与えられます。(ライブラリの declare-styleable の属性はオーバーライドされています)

于 2013-09-26T15:38:38.197 に答える
-5

私の問題は解決しました、

私はaar libではなくmaven APKlibに依存していました。

于 2013-06-12T09:48:38.163 に答える