gradle 我在将处理代码导出到APK时遇到困难

uttx8gqw  于 2023-06-23  发布在  其他
关注(0)|答案(1)|浏览(126)

所以,我正在使用Processing IDE开发一个Android应用程序。我不会把它发布到游戏商店,我只是打算把它安装到我的手机上,如果朋友要求的话,也可能安装到他们的手机上。我希望最终结果是一个名为app-debug.apk的文件。
我在Linux Mint(Ubuntu)上运行Processing 4.2,使用Processing的Android模式。我已经通过将手机插入电脑并使用USB调试在手机上运行应用程序来测试了这款应用程序。它工作了。所以我很确定错误的代码不是罪魁祸首,但我可能是错的。
所以,从处理中,我选择了文件→导出Android项目。这在我的sketch文件夹中创建了一个名为“android”的目录,然后我通过终端进入该目录,并在终端中输入./gradlew assembleDebug。然后,我得到了错误信息

Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain
Caused by: java.lang.ClassNotFoundException: org.gradle.wrapper.GradleWrapperMain

我对gradle不是很在行,所以我查了一下,显然最有可能的原因是这个目录中的gradle文件和gradle Package 器文件损坏了。因此,我尝试从同一目录运行gradle wrapper来重新生成它们。它给了我一个错误

FAILURE: Build failed with an exception.

* Where:
Build file '/home/chris/sketchbook/Calculator_5_App/android/app/build.gradle' line: 1

* What went wrong:
A problem occurred evaluating project ':app'.

>Failed to apply plugin \[id 'com.android.internal.version-check'\]
    >Minimum supported Gradle version is 7.2. Current version is 4.4.1. If using the gradle wrapper, try editing the distributionUrl in /home/chris/sketchbook/Calculator_5_App/android/gradle/wrapper/gradle-wrapper.properties to gradle-7.2-all.zip

* 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

BUILD FAILED in 6s

所以,长话短说,这个错误消息只是意味着我应该使用7.2或更高版本的gradle,即使我只有4.4.1版本(至少我很确定这就是它的意思)。但是,无论我使用多少次sudo apt update或sudo apt upgrade(这些命令告诉您的系统更新所有已安装的软件包,包括gradle),gradle都不会升级到4.4.1以上的版本。所以...真不幸我在网上读到,你可以尝试手动下载最新版本的gradle(目前是8.1.1),然后做一些复杂的root用户magickery来使用它来更新它,但它似乎非常困难,我甚至不确定这是否会工作,因为我不完全确定它是否是gradle文件损坏或其他东西。
嗯,所以是的。我不知道该怎么办。我不确定它是不是坏了,因为它是Android的Processing,它的维护不如主要的java模式,或者是因为我在Linux上运行它,开发人员主要关注Windows版本(这是公平的,我很高兴他们有Linux版本),或者是因为我很愚蠢。可能是最后一个了。
无论如何,如果你需要更多的信息,请尽管问。此外,因为我确信这会很有帮助,所以我输入这些命令的android文件夹中包含了以下文件:

  • build.gradle
  • gradle.properties
  • grad柳
  • gradlew.bat
  • local.properties
  • settings.gradle

以及文件夹:

  • 应用程序
  • Package 纸

app文件夹包含文件build.gradleproguard-rules.pro,以及文件夹libs和src。 Package 器文件夹包含单个文件gradle-wrapper.properties app/libs包含文件ComplexNumbers.jarprocessing-core.jar app/src包含文件夹main,从那里有一个很长的目录树结构。
如果你想了解更多关于这个大的长目录树结构的信息,我可以给予你ls -R的输出,对于那些不熟悉Linux的人来说,这是一个递归地显示所有文件、文件夹以及这些文件夹中的文件和文件夹的命令。我也很乐意提供你需要的其他信息。真的,任何帮助都很感激。
谢谢你!

9ceoxa92

9ceoxa921#

您是否按照错误消息的建议使用gradle Package 器升级了gradle?

If using the gradle wrapper, try editing the distributionUrl in /home/chris/sketchbook/Calculator_5_App/android/gradle/wrapper/gradle-wrapper.properties to gradle-7.2-all.zip

wrapper.properties文件中,应该有distributionUrl的值。更改URL gradle-7.2-all.zip的最后一部分:

distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip

相关问题