Outils pour utilisateurs

Outils du site


prob:gradle:mise_a_jour

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
prob:gradle:mise_a_jour [2023/05/22 17:30] – Création avec "Version 7 à 8" + déplacement du paragraphe initiale rootprob:gradle:mise_a_jour [2023/08/18 15:38] (Version actuelle) – Ajout de "Modules" root
Ligne 1: Ligne 1:
-====Cas général====+====com.android.tools.build====
  
-  * ''com.android.tools.build'' et de la version de Gradle+  * ''com.android.tools.build'' est obsolète
  
-Bien mettre à jour la classe ''com.android.tools.build'' du ''build.gradle'' en même temps que le champ ''distributionUrl'' de Gradle dans le fichier ''gradle-wrapper.properties''.+''com.android.tools.build'' désignait la version du plugin ''Gradle''. Il faut maintenant définir la version de ''Gradle'' dans la version des ''plugins'' / ''id''
 + 
 +Avant : 
 + 
 +<code groovy > 
 +buildscript { 
 +  dependencies { 
 +    classpath 'com.android.tools.build:gradle:2.1.2' 
 +  } 
 +
 +</code> 
 + 
 +Après 
 + 
 +<file groovy build.gradle> 
 +plugins { 
 +  id 'com.android.application' version '8.0.2' apply false 
 +  id 'com.android.library' version '8.0.2' apply false 
 +
 +</file> 
 + 
 +  * Compatibilité entre la la version de Gradle et du plugin Gradle 
 + 
 +Bien mettre à jour la version des ''id'' du ''build.gradle'' en même temps que le champ ''distributionUrl'' de Gradle dans le fichier ''gradle-wrapper.properties''.
  
 Voir la page [[https://developer.android.com/studio/releases/gradle-plugin|Gradle Plugin]] pour la compatibilité entre la version de gradle et son plugin. Voir la page [[https://developer.android.com/studio/releases/gradle-plugin|Gradle Plugin]] pour la compatibilité entre la version de gradle et son plugin.
Ligne 14: Ligne 37:
 ./gradle wrapper --gradle-version --7.5.1 ./gradle wrapper --gradle-version --7.5.1
 </code> </code>
 +
 +====Vieille version à Gradle 7====
 +
 +Avant :
 +
 +<file groovy build.gradle>
 +android {
 +  compileSdkVersion 24
 +  buildToolsVersion "24.0.1"
 +  defaultConfig {
 +    minSdkVersion 16
 +    targetSdkVersion 24
 +  }
 +}
 +</file>
 +
 +Après (ajout d'un ''namespace'') :
 +
 +<file groovy build.gradle>
 +android {
 +  namespace 'com.same.application.id'
 +  compileSdk 24
 +  buildTools "24.0.1"
 +  defaultConfig {
 +    minSdk 16
 +    targetSdk 24
 +  }
 +}
 +</file>
  
 ====Version 7 vers 8==== ====Version 7 vers 8====
Ligne 70: Ligne 122:
 <code groovy> <code groovy>
 def match = variant.name =~ '^(.*)(Release|Debug)$' def match = variant.name =~ '^(.*)(Release|Debug)$'
-artifact("$buildDir/outputs/apk/${match[0][1]}/${match[0][2]}/app-${output.name}.apk")+artifact("$buildDir/outputs/apk/${match[0][1]}/${match[0][2].uncapitalize()}/app-${output.name}.apk")
 </code> </code>
  
 et en dehors de ''publishing'' : et en dehors de ''publishing'' :
  
-<code groovy>+<file groovy build.gradle>
 tasks.whenTaskAdded { task -> tasks.whenTaskAdded { task ->
   if (task.name.startsWith("publish")) {   if (task.name.startsWith("publish")) {
Ligne 82: Ligne 134:
   }   }
 } }
-</code>+</file>
  
 [[https://stackoverflow.com/questions/57246532/gradle-publish-dependsonassemble-not-working|gradle publish.dependsOn('assemble') not working]] {{ :prob:gradle:mise_a_jour:android_-_gradle_publish.dependson_assemble_not_working_-_stack_overflow_22_05_2023_17_27_36_.html |Archive du 29/07/2019 le 22/05/2023}} [[https://stackoverflow.com/questions/57246532/gradle-publish-dependsonassemble-not-working|gradle publish.dependsOn('assemble') not working]] {{ :prob:gradle:mise_a_jour:android_-_gradle_publish.dependson_assemble_not_working_-_stack_overflow_22_05_2023_17_27_36_.html |Archive du 29/07/2019 le 22/05/2023}}
 +
 +====repositories====
 +
 +Avant :
 +
 +<file groovy build.gradle>
 +buildscript {
 +  repositories {
 +    jcenter()
 +  }
 +}
 +
 +allprojects {
 +  repositories {
 +    jcenter()
 +  }
 +}
 +</file>
 +
 +Après (changement de fichier) :
 +
 +<file groovy settings.gradle>
 +pluginManagement {
 +  repositories {
 +    gradlePluginPortal()
 +    google()
 +    mavenCentral()
 +  }
 +}
 +
 +dependencyResolutionManagement {
 +  repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
 +  repositories {
 +    google()
 +    mavenCentral()
 +    mavenLocal()
 +  }
 +}
 +</file>
 +
 +[[https://sebhastian.com/plugin-with-id-com-android-application-not-found/|Solve Gradle error: Plugin with id 'com.android.application' not found]] {{ :prob:gradle:mise_a_jour:solve_gradle_error_plugin_with_id_com.android.application_not_found_sebhastian_12_06_2023_17_13_22_.html |Archive du 17/05/2022 le 12/06/2023}}
 +====AndroidX====
 +
 +Avant :
 +
 +<file groovy build.gradle>
 +dependencies {
 +  compile fileTree(dir: 'libs', include: ['*.jar'])
 +  compile 'com.android.support:appcompat-v7:24.1.1'
 +}
 +</file>
 +
 +Après :
 +
 +<file groovy build.gradle>
 +dependencies {
 +  implementation 'androidx.appcompat:appcompat:1.4.2'
 +}
 +</file>
 +
 +====Java version====
 +
 +  * ''Unsupported Java. Your build is currently configured to use Java 17.0.6 and Gradle 6.7.1.''
 +  * ''Unsupported class file major version 61''
 +
 +Les deux messages d'erreur ci-dessous peuvent être simultanés.
 +
 +La version de Gradle est incompatible avec la version de Java. Il faut donc mettre à jour Gradle depuis ''File'' > ''Project structure%%...%%''.
 +
 +[[prog:gradle#compatibilite|Compatibilité entre Java et Gradle]].
 +
 +====Modules====
 +
 +  * ''%%Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not "opens java.io" to unnamed module @20c95b02%%''
 +
 +Dans ''gradle.properties'', il faut ajouter au champ ''org.gradle.jvmargs'' l'option ''%%--add-opens%%'' au module qui n'a pas réussi à être "opens".
 +
 +''%%org.gradle.jvmargs=--add-opens=java.base/java.io=ALL-UNNAMED%%''
 +
 +[[https://github.com/fluttercommunity/flutter_workmanager/issues/287|Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not "opens java.io" to unnamed module @fb04536]] {{ :prob:gradle:mise_a_jour:🐞_unable_to_make_field_private_final_java.lang.string_java.io.file.path_accessible_module_java.base_does_not_opens_java.io_to_unnamed_module_fb04536_issue_287_fluttercommun_.html |Archive du 22/06/2021 le 18/08/2023}}
prob/gradle/mise_a_jour.1684769426.txt.gz · Dernière modification : 2023/05/22 17:30 de root