android - это - gradle version




Ошибка при получении родительского элемента: не найден ресурс, который соответствует указанному имени после обновления до AppCompat v23 (16)

В моем случае это была более высокая версия Google-play-сервисов. Я установил их на 7.0.0 (не 8.x), и все было в порядке.

Я всегда программировал Android с помощью Eclipse и решил начать переход на Android Studio . Я решил использовать тот же SDK, который у меня уже был для Eclipse, тогда

  • Начал новый проект
  • Установить минимальный SDK 4.0 (уровень API 14)
  • Выберите опцию «Пустое действие»
  • Используемые имена по умолчанию для названия деятельности и имени макета
  • Хит Готово

Через несколько секунд Gradle завершает сборку и выдает мне две ошибки со следующими сообщениями в файле Teste4 \ app \ build \ промежуточные / exploded-aar \ com.android.support \ appcompat-v7 \ 23.0.0 \ res \ values -v23 \ значения-v23.xml:

Ошибка: (2) Ошибка получения родителя для элемента: не найден ресурс, который соответствует указанному имени 'android: TextAppearance.Material.Widget.Button.Inverse'.

Ошибка: (2) Ошибка получения родителя для элемента: не найден ресурс, который соответствует указанному имени 'android: Widget.Material.Button.Colored'.

Под Файл -> Структура проекта -> Модули: приложение (левый столбец) -> вкладка Свойства , у меня установлены следующие версии:

  • «Compile Sdk Version»: Android 5.1 (уровень API 22)
  • «Версия инструментов сборки»: 23.0.2

Что я должен сделать, чтобы это исправить?

Я уже попробовал то, что было предложено в вопросе переполнения стека appcompat-v7: 21.0.0 ': не найдено ни одного ресурса, соответствующего имени: attr' android: actionModeShareDrawable ' , но это не сработало.


Вам нужно установить compileSdkVersion на 23.

Поскольку API 23 Android удалил устаревшие пакеты Apache Http, поэтому, если вы используете их для запросов к серверу, вам нужно добавить useLibrary 'org.apache.http.legacy' в build.gradle как указано в этой ссылке:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"
    ...

    //only if you use Apache packages
    useLibrary 'org.apache.http.legacy'
}

Ваша версия SDK для компиляции должна соответствовать основной версии библиотеки поддержки.

Поскольку вы используете версию 23 библиотеки поддержки, вам нужно скомпилировать версию 23 SDK Android.

В качестве альтернативы вы можете продолжить компиляцию для версии 22 Android SDK, переключившись на последнюю версию библиотеки поддержки v22.


Все отлично, но никто из вас не объяснил, где скачать инструменты сборки SDK


Другое решение: перейдите к

\sdk\extras\android\m2repository\com\android\support\appcompat-v7\23.x.x

.aar файл .aar с помощью 7-zip или winrar, в папке res удалите папку values-23 и сохраните изменения.


Если вы используете PhoneGap (кросс-платформенный) и получили ту же проблему выше, просто удалите платформу Android с помощью команды ниже.

PhoneGap платформа удалить Android

И добавь это снова.

платформа PhoneGap добавить Android

Тогда проблема для меня решена.


Если вы пытались изменить цель на предыдущую версию GooglePlayServices или AppCompatv7, и она не работает, проверьте, есть ли у вас зависимость от библиотек проектов, этот проект будет ориентирован на последнюю версию любой из этих библиотек. Это случилось со мной в проекте библиотеки Google Maps Utils:

заменить:

compile 'com.google.android.gms:play-services:+'

в

compile 'com.google.android.gms:play-services:8.3.0'

Затем вы можете продолжить полный таргетинг API 22

Если он по-прежнему не компилируется, иногда полезно установить API-интерфейс compileSdkVersion равным 23, а targetSdkVersion - 22.


Как уже упоминали другие, ваша compile sdk version должна соответствовать основной версии вашей support library's . Это, однако, также актуально для subprojects если они у вас есть.

В этом случае вы можете настроить свои subprojects компиляции версий SDK с помощью следующего скрипта:

subprojects { subproject ->
afterEvaluate{
    if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
        android {
            compileSdkVersion rootProject.ext.compileSdkVersion
            buildToolsVersion rootProject.ext.buildToolsVersion
        }
      }
   }
}

Добавьте этот скрипт в свой корневой файл build.gradle .


Обновите Android Studio.

У меня была эта проблема с Android Studio 1.3.1, и ни один из других ответов не работал для меня, но после обновления до 1.5.1 проблем не было.


У меня такие же проблемы. Я решил свою проблему, обновив gradle.build для каждого подмодуля до последней версии компилятора.


Это то, что мне помогло: Добавление конкретной платформы Android

Что должно быть сделано, это следующее ... В моем случае это была cordova но то же самое относится к ionic , phonegap и другим фреймворкам, как эти:

  1. список всех платформ, установленных для вашего проекта: cordova platform list . Вы увидите что-то вроде этого:

  1. удалить платформу Android: cordova platform remove android .

  2. затем добавьте конкретную платформу Android: cordova platform add [email protected] .

Удачи! :)


Я нашел решение, проблема началась, когда я обновил sdk, после этого я использовал другой buildToolsVersion ('22 .0.1 '), и я использовал другую библиотеку поддержки, такую ​​как compile' com.android.support:appcompat-v7:23.0.0 ' , показывая вам на изображении ниже

Это поднимало проблему « android.widget.Material ...» Тогда я использовал ту же версию для библиотеки поддержки, как compile 'com.android.support:appcompat-v7:22.0.1' и его DONE. (Показывает вас на скриншоте ниже)


Я хотел понизить с API 23 до 22 и получил эту ошибку. Мне пришлось изменить все файлы build.gradle в проекте, чтобы скомпилировать.

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.yourapp.app"
        minSdkVersion 14
        targetSdkVersion 22
    }
...
dependencies {
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile 'com.android.support:support-v4:22.2.1'
    compile 'com.android.support:design:22.2.1'
    compile 'com.google.android.gms:play-services-gcm:10.0.1'
}

в модуле: приложение (Gradle)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.namepack.nameappxxxxx"
        minSdkVersion 16
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
}

проект: nameAppXXXX (Gradle)

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

    }
}

allprojects {
    repositories {
        jcenter()
    }
}

и измените свою активность AppCompatActivity, например, на Activity:

package com.namepack.nameappxxxxx;


import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;

public class NameClass extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);
    }


}

При обновлении Android Studio он по умолчанию использует API версии 23, что является основной причиной его появления. Так,

Сначала проверьте версию вашего AppCompat в build.gradle (Модуль: приложение)

Если после изменения на 23 возникает ошибка, просто загрузите

Compile Sdk Version to API 23, and Build Tools Version to 23.0.0

от менеджера SDK. Если уже загружено, то:

1. Go to SDK Manager and
2. Under Project Structure, change *Compile SDK Version* to API 23, and *Build Tools Version* to 23.0.0

Нажмите кнопку SDK Manager и откройте диалоговое окно.

Нажмите SDK Platform и проверьте, загружен ли Android 6.0 или нет.

если нет, то загрузите это сначала. После завершения загрузки нажмите Применить .

Теперь вам нужно применить изменения к вашему проекту из настроек. Затем нажмите Ctrl + Alt + Shift + S, чтобы открыть настройку

  1. Нажмите приложение из списка.
  2. Нажмите свойства
  3. Измените версию SDK для Compile на API 23
  4. Измените версию инструментов сборки на 23.0.0

Не забудьте перестроить свой проект.

Тогда ваша ошибка исчезнет.


Эта проблема возникает потому, что теперь версия SDK для компиляции должна соответствовать основной версии библиотеки поддержки Android.

В моем случае у меня есть Android Support Library версии 23, поэтому мне пришлось скомпилировать Android SDK version 23 , и мне пришлось изменить это в моем файле build.gradle :

Ну, некоторые из вас должны будут установить SDK, Android 6.0 (API 23)

и не забудьте синхронизировать проект с файлами Gradle





gradle