2 votes

Propriété inconnue dynamicFeatures pour un objet de type AppExtension

J'obtiens l'erreur suivante après avoir migré d'instant-app à app-bundles.

Could not set unknown property 'dynamicFeatures' for object of type com.android.build.gradle.AppExtension.

J'ai suivi les instructions à l'adresse suivante https://developer.Android.com/topic/google-play-instant/feature-module-migration .

J'ai essayé de mettre à jour les outils de construction et les versions du SDK cible de l'application, mais cela n'a pas aidé.

Voici le fichier build.gradle de mon module dynamic-feature.

apply plugin: 'com.android.dynamic-feature'

android {
    dynamicFeatures = [":features:base"]  // This is where error points to!
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation project(':features:base')

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

Versions utilisées dans l'application :

    buildTools = "28.0.3"
    compileSdk = 28
    targetSdk = 28
    minSdkInstant = 21
    minSdk = 21
    archLifecycleVersion = "1.1.1" //"2.0.0"
    ktxVersion = "1.0.1"

    supportLibVersion = "28.0.0"
    playServicesAuthVersion = "11.8.0"
    espressoVersion = "3.0.1"
    androidTestVersion = "0.5"
    hamcrestVersion = "1.3"
    junitVersion = "4.12"

gradle-wrapper version : 5.1.1

2voto

Ashwin M K Points 41

J'ai défini la variable dynamicFeatures dans un module dynamic-features, ce qui est incorrect. Vous devez définir la variable dynamicFeatures uniquement dans votre module de base.

feature1/build.gradle

apply plugin: 'com.android.dynamic-feature'

android {
    ...
    // do not set dynamicFeatures here!
}

app/build.gradle

apply plugin: 'com.android.application'

android {
    ...
    dynamicFeatures = [":feature1", ":feature2"]
}

Vous pouvez voir un exemple de projet ici : https://github.com/CapTechMobile/Android-App-Bundle-Sample

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X