Avant de lire la solution ci-dessous, veuillez lire ma mise à jour du 01.04.2020, le problème est plus profond et c'est dans votre code.
J'ai le même problème après cette mise à jour 3.6.
* La solution rapide est: *
- supprimer projectFolder \ build
- supprimer projectFolder \ debug *
- supprimer projectFolder \ release *
- supprimer projectFolder \ app \ build
- supprimer projectFolder \ app \ build \ debug *
- supprimer projectFolder \ app \ build \ release *
Vous devez donc supprimer tous les répertoires de génération, de débogage et de publication.
Notez que vous ne pourrez peut-être pas supprimer tous les répertoires de débogage et de publication , mais vous pouvez supprimer tout son contenu.
UPD:
Je pense qu'ils ont corrigé ce bug aujourd'hui:
UPD 03.03.2020:
Malheureusement, le bug n'a pas été corrigé.
UPD 01.04.2020:
(Pas une blague du 1er avril :))
Depuis un mois, je travaille avec des développeurs d'Android Studio et aujourd'hui, on m'a dit d'utiliser jdk au lieu d'utiliser jre, car une des erreurs profondes dans les journaux l'a dit.
Après avoir défini jdk ( Fichier-> Structure du projet- > Emplacement du SDK- > Emplacement du JDK ) au lieu de jre, j'ai quelques autres erreurs qui ne sont pas affichées dans la "sortie de génération", donc je lance Analyser -> Inspecter le code et j'ai dix-huit erreurs telles que la référence à un mauvais identifiant de vue dans les mises en page, des erreurs d'orientation (salut à tools:ignore="MissingDefaultResource"
) et des erreurs de manifeste également avec l'orientation: j'ai lu qu'il s'agit d'une nouvelle mise à jour dans 3.6.1 - sur le paysage ou le portrait screenOrientation
, corrigée rapidement par Studio avec ceci:
<activity
tools:ignore="LockedOrientationActivity" />
Lorsque toutes les erreurs ont été corrigées avec Analyser -> Inspecter le code, j'ai réussi à générer l'APK signé à l'aide de jdk, puis à l'aide de jre (juste pour le test).
Donc, en résumé, ce bogue est dû à des erreurs profondes que vous ne pouvez découvrir qu'avec l' Inspect Code
outil.
Je pense qu'AS ne pensera pas que c'est un bug, je pense qu'ils diront qu'il s'agit d'une nouvelle fonctionnalité pour améliorer votre code. Je pense également que vous devriez essayer d'inspecter votre code même sans définir jdk au lieu de jre.
Recommandation supplémentaire du support AS:
BTW lors de l'exportation d'une release
construction, nous exécutons également lintVital
des vérifications supplémentaires et des erreurs marquées comme fatal
. Cette vérification est chère donc elle ne se produit pas dans les debug
builds
projectFolder\app\[all flavor folders]
aussi supprimer .Build > Rebuild Project
je l'ai corrigé pour moi, dans Android Studio 3.6.2.Lors de la génération de l'apk, recherchez le dossier de destination, à partir duquel supprimer output.json et app-debug.apk du dossier de débogage. Essayez de construire le même après cela. AFAIK, c'est un bug pour le studio Android, j'espère qu'ils pourraient résoudre ce problème bientôt :)
la source
J'ai supprimé les sorties de build précédentes pour la variante de build, y compris le fichier APK. Voilà ce qui m'a aidé
la source
build
répertoire dans son ensemble, toujours le même problème. Pouvez-vous expliquer en détail ce que vous avez fait?Cela se produit lorsque vous utilisez auto viewBinding, Binding using Kotlin ou la fonction viewBinding de 3.6.
Dans le cas, vous ajoutez des fichiers dont l'élément partage les mêmes identifiants, ViewBinding confond et crée une telle erreur.
Permettez-moi de vous aider par exemple la classe Adapter qui a deux fichiers de mise en page séparés par type de vue:
// qui en cas de confusion sur la ressource ou la mise en page complète remplit l'exigence bcoz ont tous deux les mêmes identifiants de bouton. si vous devez utiliser:
qui permettent l'ancienne implémentation.
Faites-moi savoir si cela fonctionne de votre côté?
la source
J'ai eu la même erreur après la mise à jour d'Android Studio et j'ai résolu le problème en ne nettoyant que le projet (Build> Clean Project)! :)
la source