Android(安卓)Studio无法执行Java类的main方法问题及解决方法
16lz
2021-12-04
环境
android studio版本:3.6.1
gradle版本:5.6.4
gradle插件版本:3.6.1
错误提示
FAILURE: Build failed with an exception.* Where:Initialization script '/tmp/ReflectTest_main__.gradle' line: 20* What went wrong:A problem occurred configuring project ':app'.> Could not create task ':app:ReflectTest.main()'. > SourceSet with name 'main' not found.
解决方案:
修改.idea/gradle.xml文件
Android Studio使用gradle作为构建工具,所以归根到底还是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>
经过对比发现,新项目的
标签下少了这行配置,然后给新项目添加这行配置,运行代码发现成功了。
根据配置的字面意思理解,这个设置的意思是不委托gradle进行构建。现实效果也是加了这行配置之后就是jvm执行Java类的main方法了,而不是gradle当做task来执行了。
更多相关文章
- uses-sdk
- Android(安卓)Studio 1.5.1最新版下载地址
- 如何隐藏Android4.0及以上版本的ActionBar、NotificationBar、St
- Android源码下载
- 如何隐藏Android4.0及以上版本的ActionBar、NotificationBar、St
- Android(安卓)O版本Call对象解析
- Android(安卓)不能使用内部资源
- Android(安卓)应用的版本兼容 了解一下(理解 minSdkVersion、targ
- android 开源项目集锦