Android Jetpack проект дает ошибку сборки Archlifecycleversion - PullRequest
0 голосов
/ 14 мая 2018

Я новичок в разработке для Android и только что создал свой первый проект "hello world" в Android Studio 3.2 (канарейка), следуя этому руководству. https://developer.android.com/jetpack/docs/getting-started

, а затем я просто сделал Build-> make project Проект попытался собрать и выдал следующую ошибку.

Не удалось получить неизвестное свойство 'archLifecycleVersion' для корневого проекта 'JetpackHelloWorld' типа org.gradle.api.Project.

UPDATE

* 1017 зависимости *

ниже приведен тег зависимостей в моей папке приложения файл build.gradle

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'android.arch.lifecycle:extensions:1.1.1'
    implementation "android.arch.lifecycle:extensions:$rootProject.archLifecycleVersion"
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

Ответы [ 3 ]

0 голосов
/ 14 мая 2018

В файле Gradle вашего приложения (build.gradle, вы должны увидеть «app» справа), у вас, вероятно, есть

implementation 'android.arch.lifecycle:extensions:$rootProject.archLifecycleVersion'

Измените его на:

implementation 'android.arch.lifecycle:extensions:1.1.1'

или добавьте это в начало вашей строки реализации

def archLifecycleVersion = 1.1.1
0 голосов
/ 30 августа 2018

Я думаю, что часть (если не все) кода взята из этой кодовой метки: https://codelabs.developers.google.com/codelabs/android-room-with-a-view/

В третьей части кодовой метки, озаглавленной «Обновить файлы Gradle», они используют эти строки (вмодуля build.gradle) для импорта компонентов Room и Lifecycle:

// Room components
implementation "android.arch.persistence.room:runtime:$rootProject.roomVersion"
annotationProcessor "android.arch.persistence.room:compiler:$rootProject.roomVersion"
androidTestImplementation "android.arch.persistence.room:testing:$rootProject.roomVersion"

// Lifecycle components
implementation "android.arch.lifecycle:extensions:$rootProject.archLifecycleVersion"
annotationProcessor "android.arch.lifecycle:compiler:$rootProject.archLifecycleVersion"

Итак, эти "roomVersion" и "archLifecycleVersion" являются переменными, которые необходимо определить в основном файле build.gradle.В примере они используют эти значения:

ext {
   roomVersion = '1.0.0'
   archLifecycleVersion = '1.1.0'
}

Но я фактически использовал «1.1.1» для обеих переменных, и это работает.

0 голосов
/ 14 мая 2018

Замените $rootProject.archLifecycleVersion на актуальную версию, я думаю, что сейчас это 1.1.1

...