Maison  >  Article  >  Java  >  Comment résoudre le problème selon lequel Android Studio ne peut pas exécuter la méthode principale de la classe Java

Comment résoudre le problème selon lequel Android Studio ne peut pas exécuter la méthode principale de la classe Java

PHPz
PHPzavant
2023-05-17 16:43:062373parcourir

环境

android studio版本:3.6.1
gradle版本:5.6.4
gradle插件版本:3.6.1

错误提示

23:41:35 : Exécution de la tâche 'TxtUtil.main ()'...

Exécution de tâches : [TxtUtil.main()] dans le projet /Users/tinytongtong/Documents/workspace/as/self/BlogDemo


ÉCHEC : échec de la construction avec une exception.

* Où :
Script d'initialisation '/private/var/folders/qw/8_p1t59142d0xntgn799rt1c0000gn/T/TxtUtil_main__.gradle' : 20

* Qu'est-ce qui n'a pas fonctionné :
Un problème est survenu lors de la configuration du projet ':app'.
> Impossible de créer la tâche ':app:TxtUtil.main()'.
   > SourceSet avec le nom 'main' introuvable.

* Essayez :
Exécutez avec l'option --stacktrace pour obtenir la trace de la pile. Exécutez avec l'option --info ou --debug pour obtenir plus de résultats de journal. Exécutez avec --scan pour obtenir des informations complètes.

* Obtenez plus d'aide sur https://help.gradle.org

Des fonctionnalités Gradle obsolètes ont été utilisées dans cette version, la rendant incompatible avec Gradle 6.0.
Utilisez '--warning -mode all' pour afficher les avertissements de dépréciation individuels.
Voir https://docs.gradle.org/5.6.4/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED en 207 ms
23:41:35 : L'exécution de la tâche est terminée 'TxtUtil.main()'.

方案二:修改.idea/gradle.xml est disponible pour Android Studio pour gradle.题的项目,再打开新创建的项目,对比着看他们的gradle配置。经过对比和尝试,发现.idea/gradle.xml文件内部不同,并且参照老项目进行修改是有效的。

老项目的.idea/gradle.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
 <component name="GradleMigrationSettings" migrationVersion="1" />
 <component name="GradleSettings">
 <option name="linkedExternalProjectsSettings">
 <GradleProjectSettings>
 <option name="delegatedBuild" value="false" />
 <option name="testRunner" value="PLATFORM" />
 <option name="distributionType" value="DEFAULT_WRAPPED" />
 <option name="externalProjectPath" value="$PROJECT_DIR$" />
 <option name="modules">
  <set>
  <option value="$PROJECT_DIR$" />
  <option value="$PROJECT_DIR$/app" />
  ...
  </set>
 </option>
 <option name="resolveModulePerSourceSet" value="false" />
 </GradleProjectSettings>
 </option>
 </component>
</project>
新项目的.idea/gradle. xml:

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
 <component name="GradleMigrationSettings" migrationVersion="1" />
 <component name="GradleSettings">
 <option name="linkedExternalProjectsSettings">
 <GradleProjectSettings>
 <option name="testRunner" value="PLATFORM" />
 <option name="distributionType" value="DEFAULT_WRAPPED" />
 <option name="externalProjectPath" value="$PROJECT_DIR$" />
 <option name="modules">
  <set>
  <option value="$PROJECT_DIR$" />
  <option value="$PROJECT_DIR$/app" />
  </set>
 </option>
 <option name="resolveModulePerSourceSet" value="false" />
 </GradleProjectSettings>
 </option>
 </component>
</project>
经过对比发现,新项目的<GradleProjectSettings>标签下少了<option name="delegatedBuild" value="false" />这行配置,然后给新项目添加这行配置,运行代码发现成功了。
根据配置的字面意思理解,这个设后就是jvm Android Studio 3.0 est une version Java principale, une tâche gradle et une tâche plus récente.

知识点补充Utilisez Java pour main() et utilisez Android Studio pour Android Studio.到3.0 以后发现 运行Java 代码中的main()方法的时候grandle 就会报错的问题

解决方法 :

打开工程目录下的下图标注的文件 :

Android Studio utilise Java pour la main

打开文件后 在文件中添加

android.enableAapt2=false<p></p><GradleProjectSettings>标签下少了<option name="delegatedBuild" value="false" />这行配置,然后给新项目添加这行配置,运行代码发现成功了。

根据配置的字面意思理解,这个设置的意思是不委托gradle进行构建。现实效果也是加了这行配置之后就是jvm执行Java类的main方法了,而不是gradle当做task来执行了。

知识点补充,参考方法

Android Studio 3.0 无法运行Java代码main() 方法的解决方案

Android Studio 升级到3.0 以后发现 运行Java 代码中的main()方法的时候grandle 就会报错的问题

解决方法 :

打开工程目录下的下图标注的文件:

Android Studio无法执行Java类的main方法怎么解决

打开文件后 在文件中添加

android.enableAapt2=false<br>

最后同步一下 OK !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer