Сбой сборки после обновления инструментов для Android L

#android #android-manifest #android-gradle-plugin #android-5.0-lollipop

#Android #android-манифест #android-gradle-плагин #android-5.0-lollipop

Вопрос:

Я не могу создать свой проект после обновления инструментов. Я получаю эту ошибку в Android Studio.

/build/ exploded-aar/com.android.support/support-v4/21.0.0-rc1/AndroidManifest.xml:3] Не удалось выполнить синтаксический анализ: должно быть целое число или кодовое имя.

Есть идеи?

Я думаю, что этот манифест взят из библиотеки поддержки. У меня также есть другой для моего проекта, который min=14 target=19

 <?xml version="1.0" encoding="utf-8"?>
<!--
 Copyright (C) 2014 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="android.support.v4" >

    <uses-sdk
        android:minSdkVersion="L"
        android:targetSdkVersion="L" />

    <application />

</manifest>
 

путь к классу gradle ‘com.android.tools.build:gradle:0.9. ‘

Комментарии:

1. Если minSdk= targetSdk, он будет работать только на последней версии ОС . Который будет доступен к следующей осени .

Ответ №1:

В вашем файле app / build.gradle измените
compile 'com.android.support:support-v4: '
Для
compile 'com.android.support:support-v4:19.1.0'

‘ ‘ означает, что он будет искать самую новую версию зависимости. Если вы загрузите предварительный просмотр L, последней версией будет библиотека поддержки для L, которая не будет работать для проекта, целью которого является API 19.

Комментарии:

1. В чем причина явного номера версии?

2. По умолчанию будет использоваться новейшая версия… какой текущий выпуск L

3. Пожалуйста, обратите внимание, что последняя версия библиотеки поддержки Android для версии, отличной от Android-L 20.0.0 , так что попробуйте использовать эту строку кода: compile 'com.android.support:support-v4:20. '

4. У меня есть множественные и транзитивные зависимости, которые в конечном итоге разрешаются до версии 21.0.0-rc1, хотя я применил это изменение к некоторым модулям. Есть ли способ переопределить это глобально для всего приложения Android?

5. Кроме того, если вы используете его, вам необходимо заменить compile 'com.android.support:appcompat-v7: ' на compile 'com.android.support:appcompat-v7:19.1.0' по той же причине.

Ответ №2:

Вы обновили файл build.gradle, чтобы отразить эти изменения?

 compileSdkVersion is set to 'android-L'
minSdkVersion is set to 'L'
targetSdkVersion is set to 'L'
 

Источник: http://developer.android.com/preview/setup-sdk.html

Комментарии:

1. нет, но мой проект min = 14 target = 19, по крайней мере, сейчас мне не нужен L. также я использую gradle 0.9.

Ответ №3:

Это решило проблему для меня, и я смог создать приложение.

 compile('com.android.support:support-v4:19.1.0'){
    force = true
}