Je suis tombé sur la version Java dans Android Studio, je vais donc le résumer

introduction

Depuis que j'ai commencé à travailler en tant que stagiaire en entreprise ces derniers mois, j'ai créé un environnement à chaque fois que la destination du stagiaire change, mais pour le faire correctement, je suis souvent tombé sur des erreurs causées par la version JDK. J'ai fait.

Vérifiez à chaque fois

Oh ... est-ce dû à la version JDK? Donc qu'est ce que tu vas faire? Comme il est stérile à vérifier, j'ai écrit un article sous forme de mémorandum.

Cet article est une solution de contournement pour votre cas d'utilisation, il peut donc ne pas s'appliquer à d'autres, mais j'aimerais le mettre à jour de temps en temps.

Cas d'utilisation spécifique qui a trébuché

Premier,

java -vesion

Vous pouvez vérifier certaines versions de votre propre JDK en appuyant sur le terminal, donc pour votre référence.

How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException

Mon JDK à ce moment

java 12.0.2 2019-07-16

était.

Certains modules ont été désapprouvés de la bibliothèque standard lorsque la fonction "Modules" a été ajoutée dans Java 9.

JAR externe requis pour utiliser JAXB sur Java 9 et supérieur # 49

Avec l'ajout de cette fonction, le module JAXB est également obsolète et il semble que l'erreur ci-dessus s'est produite. Il ne sera pas reproduit dans Java 8 ou version antérieure, mais sera reproduit dans l'environnement Java 9 ou supérieur.

Solution

Pour Java 9, 10, options d'exécution

--add-modules java.xml.bind

Si vous spécifiez, vous pouvez le surpasser une fois.

Si vous trouvez ennuyeux d'ajouter des options à chaque fois, ou si vous avez un environnement JDK supérieur à Java 10 en premier lieu, essayez la ** solution de force brute ** ci-dessous.

Solution forcée

Utilisez Android Studio JDK

Première chose que vous devez savoir

** Android Studio fournit l'environnement d'exécution Java lui-même. ** **

Par conséquent, comme mentionné dans l'article Mémo du chemin Java utilisé par Android Studio lors de la création d'apk, nous utilisons généralement Android avec l'interface graphique. Lorsque je l'exécute dans Studio, je crée un module d'application dans ** l'environnement Java d'Android Studio ** et crée un apk.

vice versa,

Terrminal en bas d'Android Studio et les terminaux s'ouvrent car les applications Mac ou Windows utilisent l'environnement d'exécution du système d'exploitation.

Par conséquent, bien qu'il puisse être construit correctement avec l'interface graphique,

./gradlew assemble

C'est pourquoi cela échoue lorsque vous essayez de construire avec une commande telle que.

Si vous pouvez créer avec l'interface graphique, vous pouvez également exécuter Terminal dans l'environnement d'exécution d'Android Studio.

Il semble que vous devriez mettre la variable d'environnement Path dans .bashrc ou .zshrc.

export PATH=$PATH:/Applications/"Android Studio.app"/Contents/jre/jdk/Contents/Home/bin
export JAVA_HOME=/Applications/"Android Studio.app"/Contents/jre/jdk/Contents/Home

Ensuite, selon la version d'Android Studio, il sera possible de démarrer à partir du Terminal avec l'environnement d'exécution de la version Java appropriée.

À propos, c'était la version 1.8.0_212 dans Android Studio 3.6-RC1.

Téléchargez différentes versions de JDK

Même s'il s'agit d'une version différente, la série 1.8.0 semble être bonne dans l'environnement d'exécution d'Android Studio ci-dessus. C'est Java 8.

[Oracle HP]([https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html](https://www.oracle.com/technetwork/java/javase/ Installer à partir de downloads / jdk8-downloads-2133151.html)).

Il existe de nombreux articles sur la procédure d'installation, veuillez donc les consulter.

J'aurais dû être en mesure de ne pas créer de compte Oracle car j'ai récemment dû me connecter.

De plus, le nom d'affichage peut être «8u ***» sous la forme «Java SE Development Kit 8u241», mais il s'agit de la série «1.8.0».

Après l'installation, voyons la liste des versions de JDK que vous avez installées.

/usr/libexec/java_home -V

Une fois confirmé, définissez la version JDK sur une variable d'environnement.

export JAVA_HOME=`/usr/libexec/java_home -v {java_version}

Entrez la version que vous avez confirmée précédemment dans {java_version}.

Après cela, si vous pouvez le configurer en toute sécurité

java -version

Vérifiez avec et si vous pouvez le configurer correctement, c'est OK.

Les références

https://qiita.com/mas0061/items/2fe9333f045800d00b5c

https://qiita.com/kkkkan/items/f9595107a2a9153d1c60

https://github.com/acroquest/javabook-support/issues/49

Recommended Posts

Je suis tombé sur la version Java dans Android Studio, je vais donc le résumer
[Android Studio] Je souhaite définir des restrictions sur les valeurs enregistrées dans EditText [Java]
Je ne me souviens pas de l'entrée / sortie du fichier texte en Java, alors je l'ai résumé.
J'ai passé Ruby Silver (juin 2020), je vais donc le résumer.
Un super débutant a terminé le livre d'introduction du printemps, je vais donc le résumer à ma manière
[Java] J'ai étudié le polymorphisme, je vais donc résumer comment l'utiliser et ses mérites.
[Java] [javaSliver] L'interface et les classes abstraites sont compliquées, je vais donc les résumer.
Reportez-vous à C ++ dans le module Android Studio (Java / kotlin)
J'ai remarqué que je développe un FW Java dans le référentiel mono, donc je vais considérer l'opération.
J'ai fait un "Sunshine Ikezaki game" que j'ai vu sur Twitter en Java.
J'ai ouvert la barre de menu (menu d'options) sur Android et l'ai vue.
Le corretto que j'ai mis dans Homebrew a disparu après la mise à jour, je l'ai donc corrigé.
J'ai essayé le nouveau yuan à Java
Qu'est-ce qui n'était pas une utilisation équitable du détournement d'API Java sur Android?
De Java à C et de C à Java dans Android Studio
J'ai reçu les données du voyage (application agenda) en Java et j'ai essayé de les visualiser # 001
Placez le projet Java à l'aide de la base de données sur le serveur créé dans VPS jusqu'à présent
Résumer le cycle de vie des objets Java à prendre en compte dans le développement Android
Impressions et doutes sur l'utilisation de Java pour la première fois dans Android Studio
3 façons d'importer des bibliothèques dans Android Studio
Utilisez le JDK utilisé dans Android Studio dans le terminal
Trébucher avec Android DataBinding + Kotlin (plus BindingAdapter)
Obtenez votre numéro de version dans l'application Android
Essayez Progate Free Edition [Java I]
Dans Java Try-with-Resources, même si vous retournez dans la clause try, elle sera fermée correctement, alors revenons sans nous inquiéter
[Développement Android] Obtenez des images du serveur avec Java et définissez-les dans ImageView! !!
J'ai pris Oracle Java Bronze SE 7/8 maintenant, je vais donc l'écrire sous forme d'article
J'ai trébuché lorsque j'ai essayé d'utiliser neo4j dans l'environnement jenv, alors prenez note
La gestion de Java Future est trop terne, je vais donc essayer diverses idées.
[Android studio / Java] Ce que vous ne comprenez pas lorsque vous le touchez pour la première fois
J'ai un symbole de résolution impossible dans Android Studio
[Android Studio] [Java] Comment réparer l'écran verticalement
[Android Studio] Je souhaite utiliser une bibliothèque Maven sur Android
[Introduction] Affichez Android Studio Hello World sur l'émulateur
Je souhaite simplifier la sortie du journal sur Android
Récapitulez les éléments supplémentaires de la classe Optional dans Java 9
Ce que je suis tombé sur le test ActiveModel :: Serializer
J'ai fini de regarder les roses de Versailles, alors j'ai essayé de reproduire la chanson de fin en Java
Remarques sur le studio Android
Le programme sera-t-il plus rapide simplement en augmentant la version Java?
Je suis immédiatement tombé sur la méthode d'entrée standard avec AtCoder.
Parquet-tools donne java.lang.ExceptionInInitializerError, donc je l'ai fait fonctionner avec java8
[Java] ArrayList → La taille doit-elle être spécifiée dans la conversion de tableau?
J'ai essayé de résumer les bases de kotlin et java
[Android, Java] Méthode pratique pour calculer la différence en jours
Java SE 13 (JSR388) est sorti alors je l'ai essayé
Vous utilisez actuellement Java 6. Solution dans Android Studio Gradle
Comment changer Java à l'ère d'OpenJDK sur Mac
J'ai essayé d'utiliser la bibliothèque CameraX avec Android Java Fragment
Je souhaite simplifier l'instruction if-else de la branche conditionnelle en Java