Переход с Eclipse на AndroidStudio: атрибут уже определен

В настоящее время я пытаюсь перенести свой проект Android из Eclipse в Android Studio. Сборка проектов завершается со следующими ошибками:

: приложение: процессдебугресаурцес

.../app/build/intermediates/res/merged/debug/values/values.xml

Ошибка: (204) Разделитель атрибутов уже определен

Ошибка: (233) Цвет атрибута уже определен

Вот строка 204 из valuex.xml

    <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>

файл градиента модуля:

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')
}

Кто-нибудь знает, где проблема?

ОБНОВЛЕНИЕ: это полный файл градиента модуля.

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. Теперь я получаю другое сообщение об ошибке:

: приложение: процессдебугресаурцес

../приложение/сборка/промежуточные/разрешение/объединение/отладка/значения/значения.xml

Ошибка: (204) Разделитель атрибутов уже определен с несовместимым

формат. Ошибка: (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>

person user2224350    schedule 11.09.2016    source источник
comment
Можете ли вы поделиться полным build.gradle, это может быть полезно для понимания проблемы   -  person anuja jain    schedule 14.09.2016
comment
я обновил свой вопрос   -  person user2224350    schedule 14.09.2016


Ответы (2)


Вы ориентируетесь на 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"/>
person Jans    schedule 14.09.2016
comment
Теперь я получаю другое сообщение об ошибке. Пожалуйста, взгляните на мое обновление - person user2224350; 14.09.2016
comment
Но у меня нет этой проблемы в eclipse. Так как же тогда что-то может быть не так с моим кодом? - person user2224350; 15.09.2016
comment
Новая проблема связана с изменениями в зависимостях и инструменте сборки, один и тот же атрибут определяется Android в формате, отличном от вашего. - person Jans; 15.09.2016

  1. Обновите все инструменты и библиотеки поддержки SDK. для этого перейдите в Android Studio, откройте диспетчер SDK и установите обновления.
  2. Затем перезапустите Android Studio
  3. Проверьте свой buil.gradle и обновите следующие строки кода в соответствии с последней версией.

    buildToolsVersion "23.0.3"

    targetSdkВерсия 24

    скомпилировать 'com.android.support:support-v4:24.2.0'

  4. Синхронизировать проект

  5. Восстановить
person anuja jain    schedule 15.09.2016