問題:
有時在開發(fā)中想直接寫一個java文件來測試一些東西铲觉,但是AndroidStudio執(zhí)行的時候會報錯野揪。
代碼信息:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
報錯信息
12:04:41: Executing task 'HelloWorld.main()'...
Executing tasks: [HelloWorld.main()] in project D:\AndroidStudioProjects\MyApplication8
> Configure project :app
WARNING: The following project options are deprecated and have been removed:
android.enableAapt2
This property has no effect, AAPT2 is now always used.
FAILURE: Build failed with an exception.
* Where:
Initialization script 'C:\Users\cj\AppData\Local\Temp\HelloWorld_main__.gradle' line: 20
* What went wrong:
A problem occurred configuring project ':app'.
> Could not create task ':app:HelloWorld.main()'.
> SourceSet with name 'main' not found.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.6.4/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 116ms
12:04:41: Task execution finished 'HelloWorld.main()'.
解決方案
在.idea文件夾中找到gradle.xml, 打開文件凿掂,在<GradleProjectSettings>標簽下添加
<option name="delegatedBuild" value="false" />
添加后文件內容
<?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>
結果
總結
再次運行就可以顯示執(zhí)行結果了伴榔,據(jù)說這句話的意思是不讓gradle接管構建任務,防止當作gradle的task來執(zhí)行庄萎。