【翻译】 Processing的安卓项目构建(译者用的是Android Studio)

2024-02-07 20:04

本文主要是介绍【翻译】 Processing的安卓项目构建(译者用的是Android Studio),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文链接:https://github.com/processing/processing-android/wiki/Building-Processing-for-Android,版本Apr 2, 2023

译者声明:这个文档是开源公开的,协议是GNU协议。译者自己得使用这个文档,所以才翻译的,但是译者实在懒得翻译,所以找GPT翻译了一下。但是因为译者自己得使用这个文档,所以对这个文档进行了相当的补充说明和纠正。本着写都写了这不得发出来啊的思路,译者发布了这篇博客,希望对构建Processing安卓项目的后来者有所帮助。

文章目录

  • Processing的Android构建系统
    • 使用Gradle构建所有内容
    • 使用Android Studio开发/调试/测试核心和VR库
    • 在Eclipse中运行Android模式
      • I - 设置Processing 4
      • II - 将Processing 4仓库导入到Eclipse
      • III - 将android-mode项目导入到Eclipse
    • 从 IntelliJ 运行 Android 模式
      • II - 将 Processing 4 仓库导入 IntelliJ
      • III - 将 android-mode 项目导入 IntelliJ
    • 特殊任务
      • 为整个项目更新 Gradle 包装器:
      • 使用最新文档化的权限更新 Permissions.java

译者注:如果对Processing的Android毫无了解,可以先从这篇翻译中有一个简单的了解:【翻译】Processing指南|Processing安卓安装和开始使用

Processing的Android构建系统

Processing的Android构建系统完全基于Gradle(由于许多关键步骤,尤其是与依赖项解析相关的步骤,无法通过Ant轻松实现,因此移除了对Ant的支持)。构建系统包括用于开发和测试核心、VR以及其他Android特定库的Android Studio示例项目。同时还提供了用于Android模式和SDK更新工具的Eclipse项目。

译者注:译者主要就是使用AS去开发,所以关于Eclipse的描述我这边没做什么补充。译者的AS版本是2022年版的,怕最新的有bug且没教程不敢装。

译者注:译者超级不推荐直接使用Processing的PDE的Android Mode!!超级不推荐!!!它的代理完全不知道在哪里设置,而且导出死活导出不了,那个PDE玩玩草图可以,不要当成正经项目去用。

译者注:如果不知道AS在哪里下载快、以及怎么使用方便,可以看看这篇浅浅安装一下:【工具】Android|Android Studio 长颈鹿版本安装下载使用详解。

使用Gradle构建所有内容

构建系统使用gradle来构建processing核心和模式、VR和AR库、SDK下载工具,并创建准备好使用的Android模式包。

译者注:如果使用的是AS,那么以下安装这些库的过程可以忽略甚至跳过。因为可以先采用AS是图形化页面把这些装全,参考下面的过程找到需要安装的组件,包括SDK、cmdtools、platform;也可以等导入了Processing-Android项目的debug文件夹之后它自动获取依赖并安装(推荐后一种!即跳过这一步!这样就不会装错版本了)。

首先要安装Android SDK。可以手动使用此页面底部的“仅命令行工具”部分提供的命令行工具进行安装,在那里可以下载对应于您使用的操作系统(Windows、Mac或Linux)的工具。解压zip文件并将cmdline-tools文件夹中的内容移动到<SDK路径>/cmdline-tools/latest。例如(在Mac上,并替换为正确的版本号和SDK文件夹):

unzip commandlinetools-mac-6858069_latest.zip
mkdir ~/android-devel/SDK
mkdir ~/android-devel/SDK/cmdline-tools
mv cmdline-tools ~/android-devel/SDK/cmdline-tools/latest

将命令行工具放置在SDK位置后,您可以使用sdkmanager下载SDK所需的组件:

cd ~/android-devel/SDK/cmdline-tools/latest/bin
./sdkmanager "platform-tools" "platforms;android-33"

然后,在repo的根文件夹中创建一个local.properties文件,其内容如下:

sdk.dir=<Android SDK的路径>

在前面的示例中,<Android SDK的路径>应该是~/android-devel/SDK/,但您可以使用任何其他您喜欢的位置。如果您使用的是Windows,使用双反斜杠"\“作为文件分隔符,或使用前斜杠”/"(Unix风格)。否则,构建过程将失败。或者,如果系统中定义了ANDROID_SDK环境变量,构建脚本将尝试自动创建此文件。

一旦有了有效的local.properties,您可以通过运行以下命令来构建Android模式分发:

gradle dist

这假设您在系统范围内可用的Gradle版本为7(目前尚不支持版本8)(可以从此处下载二进制版本),或者您可以使用随模式附带的Gradle wrapper:

./gradlew dist

这将下载进行构建和分发过程所需的所有文件。

如果所有模块的构建过程成功完成,AndroidMode.zip和AndroidMode.txt文件将存储在dist子文件夹内。

使用以下命令清理所有构建文件:

gradle clean

或者

./gradlew clean

请注意,不再提供ant构建脚本来构建模式或核心库。

使用Android Studio开发/调试/测试核心和VR库

译者注:先克隆这个仓库:
git clone git@github.com:processing/processing-android.git

debug文件夹导入Android Studio,同意随后显示的Gradle Sync对话框,并等待Android Studio下载所有依赖项。

译者注:导入的方式很简单,File-Open…,然后输入刚刚克隆的仓库的debug的文件夹位置就可以。
在这里插入图片描述在这里插入图片描述

您应该得到一个项目空间,在那里您可以运行提供的示例应用(simple和vrcube),添加新应用程序,并修改和调试核心和vr库。processing-core和processing-vr Android库项目只是指向core/src和mode/libraries/vr/src中的源文件夹,因此这些位置中源代码文件的任何更改都会影响示例应用程序。

全下好之后会得到一个这样子的页面:
在这里插入图片描述
进一步展开运行项,选那个simple运行一下:
在这里插入图片描述

译者注:然后把手机的USB调试打开,再连接电脑,点击运行就可以使用了!具体打开方式可以搜索“手机型号+USB调试”,如“IQOO USB调试”。
非常方便!非常非常方便!(译者不喜欢电脑的手机模拟器,因为译者曾经因为多个手机模拟器翻车或者导致电脑蓝屏,已经心理阴影了,宁愿直接上真机)

译者注:到这里,我已经能够正常开始编程了,没有遇到其他问题了,如果还需要使用其他的环境编程你们可以继续往后看。

在Eclipse中运行Android模式

Android模式是一个Java项目,可以在Eclipse或IntelliJ等Java IDE中开发。Eclipse项目文件已包含在内,从Eclipse运行模式所需的步骤如下:

I - 设置Processing 4

由于我们只需要Processing 4作为依赖,因此执行浅克隆Processing 4仓库,并在processing/build文件夹中运行ant进行构建,具体操作请参见Processing 4的构建说明:

git clone https://github.com/processing/processing4.git --depth 1

II - 将Processing 4仓库导入到Eclipse

  1. 将Processing 4仓库导入Eclipse:
    导入 > 从Git项目 > 现有本地仓库 > 选择Processing文件夹 > 导入现有Eclipse项目
  2. 选择:
    • processing-app
    • processing-core
    • processing-java(选择路径为processing/java的选项)
  3. 右键点击processing-app项目,选择 运行方式 > Java应用程序 > “Base - processing.app”

III - 将android-mode项目导入到Eclipse

  1. 使用gradle构建适用于Android的processing分发,然后将Processing for Android仓库导入到Eclipse:
    导入 > 从Git项目 > 现有本地仓库 > 选择Processing文件夹 > 导入现有Eclipse项目
  2. 选择:
    • android-mode
    • android-mode-sdkupdater
  3. 右键点击_android-mode包 > 构建路径 > 配置构建路径_
  4. 添加类路径变量ANDROID_SDK和ANDROID_JAR,并将前者设置为Android SDK的路径,后者设置为SDK中platforms/android-xx文件夹中的android.jar文件(其中xx是Android API级别)。
  5. 添加/编辑运行配置以便从开发仓库加载Android模式到processing-app:
    1. 右键点击processing-app项目,选择 运行方式…|运行配置
    2. 创建新的运行配置或编辑现有配置,确保项目为processing-app,主类为processing.app.Base。
    3. 在参数选项卡中,输入-Dusemode=processing.mode.android.AndroidMode:${resource_loc:/android-mode}作为VM参数。
  6. 每次在模式源代码(或核心或VR库)中有更改时,需要在Eclipse中运行之前重新打包模式。为此,在processing-android根文件夹中运行“gradle dist”命令,如之前所述。
  7. 从运行菜单启动processing-app。Android模式现在应该出现在模式菜单中。
  8. 为了运行包括源代码中断点的调试会话,请在运行配置对话框的源代码选项卡中添加processing和processing-android文件夹。
  9. 您可以创建一个新的构建器,每次Eclipse构建android-mode项目时都运行gradle dist。这是通过进入项目的属性,然后选择构建器选项并选择新建来完成的。在那里,您应该将工作目录设置为本地processing-android仓库的位置,浏览Location以使用gradlew命令,并添加dist作为参数。这个构建器应该在默认的Java构建器之前移动。

从 IntelliJ 运行 Android 模式

Android 模式源代码可以很容易地导入到一个新的 IntelliJ 项目中。与 Eclipse 一样,我们首先需要克隆 Processing 4 仓库。然后:

II - 将 Processing 4 仓库导入 IntelliJ

  1. 将仓库导入 IntelliJ:导入项目 > 选择 Processing 4 文件夹 > 从外部模型(Eclipse)导入
    有关更多信息,请参见 IntelliJ 在线文档中的导入带设置的项目部分。
  2. 在“选择要导入的 Eclipse 项目”窗口中,选择
    • processing-app
    • processing-core
    • processing-java
  3. 转到 运行 > 编辑配置 并创建一个新的应用程序配置。
    1. 选择 Java 应用程序。
    2. 将“主类”设置为 “Base (processing.app)”
    3. 并将“使用模块的类路径”设置为 “processing-app”

III - 将 android-mode 项目导入 IntelliJ

  1. 转到 文件 > 项目结构 > 模块 > 添加 > 导入模块 > 选择 Processing-Android 文件夹 > 从外部模型(Eclipse)导入模块 > 仅选择模式项目
  2. 将模式模块重命名为 android-mode,您可能还需要修复 IntelliJ 中的一些自动生成的模块依赖关系(如 JDK 或库),以确保没有依赖错误。
  3. 转到 文件 > 设置 > 外观和行为 > 路径变量 并设置 ANDROID_SDK 和 ANDROID_JAR 变量的值(如果不存在则创建)分别为您的 Android SDK 路径和 SDK 中 platforms/android-xx 文件夹中的 android.jar 文件(其中 xx 是 Android API 级别)。还可以创建一个名为 ANDROID_MODE(或您想要的任何名称)的新变量,并将其值设置为 <processing-android repo 路径>/mode
  4. 在 processing-android 文件夹中运行 “gradle dist” 命令以构建核心库和模式。
  5. 将运行配置的 VM 选项参数设置为 -Dusemode=processing.mode.android.AndroidMode:$VAR$。将 VAR 替换为您在第 2 步中创建的变量(例如:ANDROID_MODE)。
  6. 运行项目。Android 模式现在应该出现在模式菜单中。
  7. 可以通过检查运行配置的“启动前”部分来自动执行“gradle dist”步骤。

特殊任务

这些是仅需要偶尔运行的一些特殊任务,以更新仓库中包含的 Gradle 包装器,或由模式支持的 Android 权限。

为整个项目更新 Gradle 包装器:

运行以下命令以更新捆绑的 Gradle 包装器:

gradle wrapper --gradle-version 6.5

(将 6.5 替换为您要更新到的 Gradle 版本)。然后,您必须将新的 Gradle 包装器文件提交到仓库。如果没有提供版本,则使用mode/versions.properties文件中的gradle-wrapper版本。

如果 Gradle 表示任务是最新的并拒绝更新,请在命令中添加 --rerun-tasks。

使用最新文档化的权限更新 Permissions.java

首先确保安装运行此目标所需的依赖项:

pip install -r mode/scripts/requirements.txt

然后:

gradle permissions

本账号所有文章均为原创or有版权二创,欢迎转载,请注明文章出处:https://blog.csdn.net/qq_46106285/article/details/136049420。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

这篇关于【翻译】 Processing的安卓项目构建(译者用的是Android Studio)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/688779

相关文章

Android中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

一文详解如何从零构建Spring Boot Starter并实现整合

《一文详解如何从零构建SpringBootStarter并实现整合》SpringBoot是一个开源的Java基础框架,用于创建独立、生产级的基于Spring框架的应用程序,:本文主要介绍如何从... 目录一、Spring Boot Starter的核心价值二、Starter项目创建全流程2.1 项目初始化(

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

使用Python和python-pptx构建Markdown到PowerPoint转换器

《使用Python和python-pptx构建Markdown到PowerPoint转换器》在这篇博客中,我们将深入分析一个使用Python开发的应用程序,该程序可以将Markdown文件转换为Pow... 目录引言应用概述代码结构与分析1. 类定义与初始化2. 事件处理3. Markdown 处理4. 转