从Eclipse迁移到AndroidStudio:已定义属性

时间:2016-09-11 20:49:08

标签: android eclipse android-studio gradle eclipse-adt

我目前正在尝试将我的android项目从Eclipse迁移到Android Studio。构建项目失败,并出现以下错误:

  

:应用程序:processDebugResources

     

... /应用/建造/中间体/ RES /合并/调试/值/ values.xml

     

错误:(204)属性“divider”已经定义

     

错误:(233)属性“颜色”已经定义

以下是valuex.xml

中的第204行
    <declare-styleable name="MyView"><attr format="dimension" name="off"/><attr format="integer" name="host_mode"/><attr format="dimension" name="h_textSize"/><attr format="dimension" name="header_textSize"/><attr format="dimension" name="h_rx"/><attr format="dimension" name="h_ry"/><attr format="dimension" name="divider_height"/><attr format="color" name="divider"/><attr format="dimension" name="chat_divider_height"/><attr format="color" name="chat_divider"/><attr format="color" name="background_color"/><attr format="boolean" name="use_name"/></declare-styleable>

模块gradle文件:

dependencies {
compile 'com.android.support:support-v4:24.2.0'
compile 'com.google.code.gson:gson:2.3.1'
compile 'com.google.android.gms:play-services:+'
compile files('libs/alljoyn.jar')
compile files('libs/peergroupmanager.jar')
}

有谁知道问题出在哪里?

更新: 这是modul的完整gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 'Google Inc.:Google APIs:23'
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId ""
        minSdkVersion 16
        targetSdkVersion 24
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:support-v4:24.2.0'
    compile 'com.google.code.gson:gson:2.3.1'
    compile 'com.google.android.gms:play-services:+'
    compile files('libs/alljoyn.jar')
    compile files('libs/peergroupmanager.jar')
}

更新2: 我根据xhamr改变了我的gradle文件。我现在收到一条不同的错误消息:

  

:应用程序:processDebugResources

     

../应用程序/生成/中间体/ RES /合并/调试/值/ values.xml

     

错误:(204)属性“divider”已使用不兼容的

定义      

格式。错误:(182)此处定义的原始属性。

第182行:

    <declare-styleable name="ActionBar"><attr name="navigationMode"><enum name="normal" value="0"/><enum name="listMode" value="1"/><enum name="tabMode" value="2"/></attr><attr name="displayOptions"><flag name="none" value="0"/><flag name="useLogo" value="0x1"/><flag name="showHome" value="0x2"/><flag name="homeAsUp" value="0x4"/><flag name="showTitle" value="0x8"/><flag name="showCustom" value="0x10"/><flag name="disableHome" value="0x20"/></attr><attr name="title"/><attr format="string" name="subtitle"/><attr format="reference" name="titleTextStyle"/><attr format="reference" name="subtitleTextStyle"/><attr format="reference" name="icon"/><attr format="reference" name="logo"/><attr format="reference" name="divider"/><attr format="reference" name="background"/><attr format="reference|color" name="backgroundStacked"/><attr format="reference|color" name="backgroundSplit"/><attr format="reference" name="customNavigationLayout"/><attr name="height"/><attr format="reference" name="homeLayout"/><attr format="reference" name="progressBarStyle"/><attr format="reference" name="indeterminateProgressStyle"/><attr format="dimension" name="progressBarPadding"/><attr name="homeAsUpIndicator"/><attr format="dimension" name="itemPadding"/><attr format="boolean" name="hideOnContentScroll"/><attr format="dimension" name="contentInsetStart"/><attr format="dimension" name="contentInsetEnd"/><attr format="dimension" name="contentInsetLeft"/><attr format="dimension" name="contentInsetRight"/><attr format="dimension" name="elevation"/><attr format="reference" name="popupTheme"/></declare-styleable>

2 个答案:

答案 0 :(得分:3)

您的目标是使用SDK 24并使用紧凑型库v24,请尝试将compileSdkVersion 24设置为

compileSdkVersion 24
buildToolsVersion '24.0.2'
useLibrary 'org.apache.http.legacy'

defaultConfig {
    ...
    targetSdkVersion 24
    ...
}

确保您拥有SDK Manager中的最新构建工具

修改

更新后问题不在你的declare-styleable的依赖关系中。 android定义一个名为divider的属性与您的属性发生冲突,只需更改divider属性的名称:

<attr format="color" name="divider_color"/>

答案 1 :(得分:0)

  1. 更新所有工具和SDK支持库。要执行此操作,请转到Android Studio并打开SDK管理器并安装更新。
  2. 然后重新启动Android Studio
  3. 检查您的buil.gradle并根据最新版本更新以下代码行

    buildToolsVersion“23.0.3”

    targetSdkVersion 24

    编译'com.android.support:support-v4:24.2.0'

  4. 同步项目

  5. 重建