【翻译】 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。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/673654.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常用对象和常用成员函数

常量对象与常量成员函数来防止修改对象&#xff0c;实现最低权限原则。 在Obj被定义为常量对象的情况下&#xff0c;下面这条语句是错误的。 错误的原因是常量对象一旦初始化后&#xff0c;其值就再也不能改变。因此&#xff0c;不能通过常量对象调用普通成员函数&#xff0c;因…

Windows Anaconda 运行 gempy examples。示例::

默认读者已安装&#xff1a;Anaconda. 若未安装请参考以下文章&#xff1a; Windows中如何使用 Anaconda 和 gempy地质建模 1&#xff0c;打开Anaconda Navigator: 打开后如此&#xff1a; 运行JupyterLab: launch。 打开gempy example 建模示例&#xff1a; 官方地址&#x…

医学图像安全性概述

参考文献: Insights into security and privacy issues in smart healthcare systems based on medical images 下图左侧是医疗信息共享系统,右侧是计算机辅助诊疗策略: medical image sharing security (MISS)computer-aided diagnostic (CAD)CAD security (CADS)一般在信…

各款Excel、word在线预览工具对比分析以及onlyoffice预览Excel加载时间长的解决方案

对于onlyoffice插件预览慢的问题分析&#xff1a; 研究了一下onlyoffice&#xff0c;得出以下结论&#xff01; 对于预览慢的问题&#xff0c;原因出在文件类型上&#xff0c;文件类型为低版本xls而非新版xlsx文件&#xff0c;onlyoffice服务器会自动将该文件转换为xlsx文件再…

【开源】基于JAVA+Vue+SpringBoot的停车场收费系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 停车位模块2.2 车辆模块2.3 停车收费模块2.4 IC卡模块2.5 IC卡挂失模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 停车场表3.2.2 车辆表3.2.3 停车收费表3.2.4 IC 卡表3.2.5 IC 卡挂失表 四、系统实现五、核心代码…

spring boot和spring cloud项目中配置文件application和bootstrap中的值与对应的配置类绑定处理

在前面的文章基础上 https://blog.csdn.net/zlpzlpzyd/article/details/136065211 加载完文件转换为 Environment 中对应的值之后&#xff0c;接下来需要将对应的值与对应的配置类进行绑定&#xff0c;方便对应的组件取值处理接下来的操作。 对应的配置值与配置类绑定通过 Con…

3.1-媒资管理之需求分析+搭建Nacos

文章目录 媒资管理模块1 模块需求分析1.1 模块介绍1.2 业务流程1.2.1 上传图片1.2.2 上传视频1.2.3 处理视频1.2.4 审核媒资 2.2 搭建Nacos2.2.1 服务发现中心2.2.2 配置中心2.2.2.1 配置三要素2.2.2.3配置content-api 2.2.3 公用配置2.2.4 配置优先级2.2.5 导入配置文件2.2.6 …

机器学习系列 - Mean Shift聚类

文章目录 前言一、原理前置知识点Mean Shift计算步骤 二、应用举例-图像分割三、聚类实战-简单实例bandwidth1bandwidth2总结 前言 Mean Shift&#xff08;均值漂移&#xff09;是基于密度的非参数聚类算法&#xff0c;其算法思想是假设不同簇类的数据集符合不同的概率密度分布…

Open CASCADE学习|创建多段线与圆

使用Open CASCADE Technology (OCCT)库来创建和显示一些2D几何形状。 主要过程如下&#xff1a; 包含头文件&#xff1a;代码首先包含了一些必要的头文件&#xff0c;这些头文件提供了创建和显示几何形状所需的类和函数。 定义变量&#xff1a;在main函数中&#xff0c;定义…

Java 将TXT文本文件转换为PDF文件

与TXT文本文件&#xff0c;PDF文件更加专业也更适合传输&#xff0c;常用于正式报告、简历、合同等场合。项目中如果有使用Java将TXT文本文件转为PDF文件的需求&#xff0c;可以查看本文中介绍的免费实现方法。 免费Java PDF库 本文介绍的方法需要用到Free Spire.PDF for Java…

开源!免费!Hugging Face推出GPT商城

Hugging Face发布开源AI助手制造工具&#xff0c;与OpenAI的定制GPT形成竞争 Hugging Face今年1月31日推出一款开源AI代码库——Hugging Chat Assistants&#xff0c;允许用户轻松创建特定功能的定制AI聊天机器人。 不同于OpenAI的ChatGPT商城需要每月20美金成为会员才能使用…

c语言--指针数组(详解)

目录 一、什么是指针数组&#xff1f;二、指针数组模拟二维数组 一、什么是指针数组&#xff1f; 指针数组是指针还是数组&#xff1f; 我们类比一下&#xff0c;整型数组&#xff0c;是存放整型的数组&#xff0c;字符数组是存放字符的数组。 那指针数组呢&#xff1f;是存放…

编译原理实验1——词法分析(python实现)

文章目录 实验目的实现定义单词对应的种别码定义输出形式&#xff1a;三元式python代码实现运行结果检错处理 总结 实验目的 输入一个C语言代码串&#xff0c;输出单词流&#xff0c;识别对象包含关键字、标识符、整型浮点型字符串型常数、科学计数法、操作符和标点、注释等等。…

大数据术语系列(1)——COW和MOR,我如何使用chatgpt通俗易懂地理解了hudi这两种表类型

从传统数据库到大数据的转变&#xff0c;首当其冲的是各种术语的理解。 所以我与chatgpt发生了一系列对话&#xff0c;以便于我能快速理解这些术语。 我先把汇总的结果放在前边&#xff0c;后边会一步步地来说明我是如何获取这些信息的。前边我也发过一些关于chatgpt提示词相…

寒假提升(5)[利用位操作符的算法题]

日子是一天天地走&#xff0c;书要一页页地读。 ——毕淑敏 算法 位操作符的合理使用来解决问题1、题目大概2、理解和想办法解决3、结果 位操作符的合理使用来解决问题 1、题目大概 题目要求让我们把一个数字用二进制表示出来的时候&#xff0c;将他的奇数位置和偶数位置交换…

HarmonyOS 鸿蒙应用开发(十、第三方开源js库移植适配指南)

在前端和nodejs的世界里&#xff0c;有很多开源的js库&#xff0c;通过npm(NodeJS包管理和分发工具)可以安装使用众多的开源软件包。但是由于OpenHarmony开发框架中的API不完全兼容V8运行时的Build-In API&#xff0c;因此三方js库大都需要适配下才能用。 移植前准备 建议在适…

如何找准用户真实需求,建立情感连接?

品牌如果想要长久发展&#xff0c;除了独特的理念以及过硬的产品质量外还需要一点&#xff0c;那就在于它能持续、正确的为用户创造生活幸福感。这满足了用户的真实需求&#xff0c;并与其产生了情感连接&#xff0c;从而让品牌有机会逐渐融入、改善用户的生活实现长期价值与口…

10个简单有效的编辑PDF文件工具分享

10个编辑PDF文件工具作为作家、编辑或专业人士&#xff0c;您可能经常发现自己在处理 PDF 文件。无论您是审阅文档、创建报告还是与他人共享工作&#xff0c;拥有一个可靠的 PDF 编辑器供您使用都非常重要。 10个简单适用的编辑PDF文件工具 在本文中&#xff0c;我们将介绍当今…

操作系统-信号量机制(整型信号量 记录型信号量)与用信号量实现进程互斥,同步,前驱关系

文章目录 信号量机制总览信号量机制整型信号量记录型信号量例子记录型信号量小结 小结 用信号量实现进程互斥&#xff0c;同步&#xff0c;前驱关系总览信号量机制实现进程互斥信号量机制实现进程同步进程同步信号量实现进程同步 信号量机制实现前驱关系小结 信号量机制 总览 …

freeRTOS总结(十五)软件定时

1&#xff0c;软件定时器的简介&#xff08;了解&#xff09; 定时器&#xff1a; 从指定的时刻开始&#xff0c;经过一个指定时间&#xff0c;然后触发一个超时事件&#xff0c;用户可自定义定时器的周期 硬件定时器&#xff1a; 芯片本身自带的定时器模块&#xff0c;硬件定…