首頁  >  文章  >  Java  >  Android Studio無法執行Java類別的main方法怎麼解決

Android Studio無法執行Java類別的main方法怎麼解決

PHPz
PHPz轉載
2023-05-17 16:43:062373瀏覽

環境

##android studio版本:3.6.1

gradle版本:5.6.4<br><br>#android studio版本:3.6.1

gradle版本:5.6.4

#gradle外掛程式版本:3.6.1

#錯誤提示

11:41:35 PM: 正在執行任務'TxtUtil.main()'...

執行任務: [TxtUtil.main() ]在專案/Users/tinytongtong/Documents/workspace/as/self/BlogDemo<br>

#FAILURE:建置失敗並出現異常。<br>

* 其中:

初始化腳本' /private /var/folders/qw/8_p1t59142d0xntgn799rt1c0000gn/T/TxtUtil_main__.gradle'行:20<br><br>#* 出了什麼問題:<br>設定項目':問題時出現問題。#app'時出現問題。#app'>無法建立任務「:app:TxtUtil.main()」。

   >未找到名稱為「main」的 SourceSet。

<br>* 嘗試:

使用 --stacktrace 選項運行以取得堆疊追蹤。使用 --info 或 --debug 選項運行以獲得更多日誌輸出。使用--scan 運行以獲得完整的見解。

* 在https://help.gradle.org 獲取更多幫助

<br>此構建中使用了已棄用的Gradle 功能,使其與Gradle 不相容6.0.<br>使用「--warning-mode all」顯示個別棄用警告。

請參閱https://docs.gradle.org/5.6.4/userguide/command_line_interface.html# sec:command_line_warnings

<br>BUILD FAILED in 207ms

11:41:35 PM:任務執行完成'TxtUtil.main()'。

解決方案:

#修改##方案一:暫時的替代方案<br>

Run "XXX.main()" with Coverage

#方案二:.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>
經過比較發現,新專案的

標籤下少了< ;選項名稱= "delegateBuild" value="false" />這行配置,然後給新項目添加這行配置,運行代碼發現成功了。

根據配置的字面意思理解,這個設定的意思是不委託gradle進行建置。實際效果也是加了這行配置之後就是jvm執行Java類別的main方法了,而不是gradle當做task來執行了。

知識點補充,參考方法

Android Studio 3.0 無法執行Java程式碼中的main()方法的解決方案

Android Studio升級到3.0以後發現執行Java程式碼中的main()方法的時候就會報錯的問題

解決方法:

開啟工程目錄下的下方圖示註的檔案:

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

檔案後在檔案中加入

##android.enableAapt2=false

<br>最後同步一下就OK了!

以上是Android Studio無法執行Java類別的main方法怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除