Intereting Posts
А? FindViewById () нельзя вызвать внутри onReceive ()? Как проверить, установлен ли флажок андроида в его методе onClick (объявлен в XML)? Как создать пустую папку на Google Диске? Xamarin.Forms SetHasNavigationBar false вызывает скачок на PushAsync Где запущены системные службы Android? Использование Amazon Simple Storage Service (S3) на Android Как узнать, какой Android API был создан APK против Используя System.getProperty («os.arch»), чтобы проверить, является ли это armeabi cpu Android-приложение для запуска приложений RecyclerView не перерабатывает представления, когда использует его внутри NestedScrollView Неплохо ли использовать printStackTrace () в Android Exceptions? Решение Java (framework / library / API) для реальных кроссплатформенных приложений / приложений Andengine: добавьте представление, содержащее элементы управления пользовательским интерфейсом поверх andengine с помощью addContentView Как дать абзацы в действии? Параметр IllegalArgumentException должен быть потомком этого представления в ViewGroup.offsetRectBetweenParentAndChild

Android – Изменение компиляцииSdkVersion приводит к ошибкам

Я использую Android Studio 1.2.2 для разработки приложения для Android. В моем файле build.gradle я определил compileSdkVersion для 21 с самого начала работы. Теперь я хотел изменить это на 19, поскольку это программное обеспечение на самом деле никогда не будет установлено на Android-устройстве, которое работает с более высокой версией, чем Android 4.4

Когда я пытаюсь изменить это значение на 19, проект больше не компилируется.

После изменения значения версии у меня есть:

  • Синхронизировать проект
  • Очистил проект
  • Перестроить проект (попробовал)

Но возникает следующая ошибка:

В файле /projectpath/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/22.2.0/res/values-v21/values-v21.xml он отмечает 103 ошибки, говоря «не может разрешить символ".

Значения-v21.xml:

 <?xml version="1.0" encoding="utf-8"?> <resources> <!-- From: file:/usr/local/google/buildbot/repo_clients/https___googleplex-android.googlesource.com_a_platform_manifest.git/lmp-mr1-supportlib-release/frameworks/support/v7/appcompat/res/values-v21/styles_base_text.xml --> <eat-comment/> <style name="Base.TextAppearance.AppCompat" parent="android:TextAppearance.Material"/> <style name="Base.TextAppearance.AppCompat.Body1" parent="android:TextAppearance.Material.Body1"/> <style name="Base.TextAppearance.AppCompat.Body2" parent="android:TextAppearance.Material.Body2"/> <style name="Base.TextAppearance.AppCompat.Button" parent="android:TextAppearance.Material.Button"/> .... 
  • cannot resovle symbol android:TextAppearance.Material
  • cannot resovle symbol android:TextAppearance.Material.Body1
  • cannot resovle symbol android:TextAppearance.Material.Body2
  • cannot resovle symbol android:TextAppearance.Material.Button

и так далее…

Что вызывает эту ошибку? Что я могу сделать, чтобы снова скомпилировать его? Когда я меняю обратно compileSdkVersion на 21, все работает нормально снова.

Мой build.gradle:

 apply plugin: 'com.android.application' android { compileSdkVersion 19 buildToolsVersion '23.0.0 rc3' defaultConfig { applicationId 'com.appname.id' minSdkVersion 17 targetSdkVersion 19 versionCode 1 versionName "0.0.2 Alpha" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } productFlavors { } } repositories { maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } mavenCentral() } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.2.0' } 

Для использования appcompat-v7:22.2.0 вы должны скомпилировать API 21 . Нет никакого вреда в этом, даже если он никогда не будет работать на устройствах, работающих 21 .

Вы можете попробовать более старую версию приложения, но тогда вы будете отсутствовать в «интересных новых функциях» и исправлениях ошибок из последней совместимости приложений.

Если это может помочь кому-то, после многих испытаний и ошибок я обнаружил, что я нацелился на неправильную версию SDK (более старую) в файле build.gradle, соответствующем «library». Чтобы изменить это, вы можете сделать это вручную или перейти в меню настроек модуля (щелкните правой кнопкой мыши по папке проекта -> «Открыть параметры модуля». Затем в «library» – «Свойства» вы можете изменить «Скомпилировать Sdk» и «Версии инструментов сборки»

Введите описание изображения здесь

Убедитесь, что вы установили API 19 в sdk manager