如何从源码编译 O2OA (翱途) 开发平台移动办公 APP?

2024-02-18 02:30

本文主要是介绍如何从源码编译 O2OA (翱途) 开发平台移动办公 APP?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

O2OA 是真正全代码开源的应用开发平台,开发者可以直接使用从 github 或者 gitee 上 clone 的源码编译成安卓客户端,代码可以修改,安全可靠,无限制。本文主要介绍如何从 gitee 上下载源码并且完成安卓客户端编译打包工作。

一、准备源码编译环境

1、Android SDK 下载与安装

O2OA 平台 Android 客户端,最低支持 Android 版本 5.0 Android L,编程语言主要使用 Kotlin。请使用最新版本的Android Studio进行导入编译,编译的 Android SDK 版本是 31 。

Android Studio下载地址 https://developer.android.google.cn/studio/。

安装 Android Studio 完成后,打开设置里面的 SDK Manager 工具,如下图所示界面:

选择 Android 12.0 (S) ,安装 SDK,如下图所示:

然后选择 SDK Tools 选项卡,勾选右下角的 Show Package Details,然后选择 Android SDK Build-Tools 下面的 30.0.3 版本进行安装。

2、Clone 移动 APP 源代码

Gitee -> o2oa-android: 开源OA企业信息化平台O2OA Android端源码

Github -> https://github.com/o2oa/o2oa-android

clone 源码过程,在这里就不赘述了,大家请自行百度。

二、将项目源代码导入到 Android Studio

打开Android Studio 点击Open an existing Android Studio project

等它加载完成后可能会弹出这样一个窗口,提示更新 Gradle 版本,可以不更新 Gradle,点击 Donot remind me again for this project

三、修改项目基本信息

1、项目名称

项目名称就是 Android 手机桌面上显示的名称,这个名称修改是在 strings 资源文件中,具体位置:./app/src/main/res/values/strings.xml

2、修改项目桌面 LOGO

还有就是项目的 LOGO,这个 LOGO 是在 Android 手机桌面上显示那个图标,这个需要替换图片: 图片位置: ./app/src/main/res 这个资源目录下有 4 个 mipmap 文件夹,把 4 个文件夹中的logo.pnglogo_round.png都替换了。

3、指定唯一应用 ID

Android 应用都有一个唯一的应用 ID applicationId 。这个 id 代表这个 Android App 所以不能重复,一般都用公司域名组成的一串字符串,如: com.baidu.app.xxx 。 修改的文件是在./app/build.gradle 文件中,android -> defaultConfig -> applicationId 。

4、配置应用内相关图标

移动办公 App 内看到的一些 O2OA 相关的 Logo 图标,可以不编译打包进 App,我们可以通过服务端进行动态配置。

使用管理员身份进入 O2OA 服务端,找到系统设置 -> 移动办公配置 -> 样式配置,就可以修改图标了:

四、第三方 SDK 的注册与配置

在项目根目录下的 gradle.properties 文件中,有一些第三方 SDK 的 KEY 需要配置。

极光推送

JPUSH_APPKEY_DEBUG=极光推送AppKey

百度地图

BAIDU_MAP_APPKEY=百度地图Appkey

1、如何获取百度地图的 APPKey

百度地图官方地址:http://lbsyun.baidu.com/

登录百度地图,进入控制台,开始创建应用,如下图所示:

这里有一个必填项发布版 SHA1,这个 SHA1 需要用到 Android 打包的签名文件。所以先要有一个签名文件。

生成签名文件

签名文件可以用 Android Studio 生成。

先找到 Android Studio 菜单 Build -> Generate Signed Bundle or APK 。

然后勾选 APK ,下一步:

然后点击新建按钮,创建一个新的签名文件:

下面就是签名文件生成的表单,填写完成后点击 OK 就生成了:

获取百度地图需要的 SHA1

使用 keytool 生成 SHA1

  • 运行进入命令控制台(以 Window 开发环境为例)

  • 进入.android目录,输入cd .android

  • 继续在控制台输入命令:
keytool -list -v -keystore 这里写上面生成的那个签名文件的全路径
  • 输入密码获取。 提示输入签名文件密码。输入密码后回车,此时可在控制台显示的信息中获取 SHA1 值,如下图所示:

把这里显示的 SHA1 的值拷贝到刚才百度地图应用创建页面表单中 ,创建地图应用成功后,到应用列表页面拷贝应用的 AK 就是 AppKey 的值。

然后把这个值填入gradle.properties文件中对应的百度地图 Appkey 的位置。

2、如何获取极光推送的 APPKey

极光官方网站:https://www.jiguang.cn

注册登录后,先创建应用。应用创建后,进入应用设置,应用信息里面有 AppKey、Master Secret。

把 AppKey 的值拷贝后粘贴到gradle.properties 文件中的极光推送 AppKey 对应的地方 JPUSH_APPKEY,Master Secret 在 O2OA 的服务端配置文件中需要配置。

五、如何修改 APP 直连私有化部署的 O2OA 服务器

很多项目中,由于关于安全与网络环境的限制,用户不希望 APP 经过 O2 云的绑定来连接服务器,希望 APP 可以直接在内网环境中直接连接 O2OA 服务器。

此种情况下,开发者需要通过修改相关配置后编译打包,重新编译好的 APP 就会直接连接到自己部署的 O2OA 服务器,不需要通过 O2 云进行服务器绑定的过程,这种实现我们也称之为直连版本 APP 打包。

直连版本的消息推送配置请参考文档:《O2OA 移动端 APP 直连版本如何开启消息推送》。

修改方式说明

build.gradle 修改

在 app 目录下的 build.gradle 文件中,找到 android -> buildTypes ,把InnerServer 改成 true 。debug 与 release 节点下的 buildConfigField 设置都需要修改,如下图所示:

buildConfigField "Boolean", "InnerServer", "true"

server.json 修改

在 app->assets 目录下找到 server.json 文件,把里面的 centerHost 、 centerPort、httpProtocol 改成私有化部署的 O2OA 中心服务器地址的相关信息,如下图所示:

如何设置为不自动更新 App

通用版本的 APP 源码中设置了自动更新兰德网络发布的 APP,更新之后,用户将使用通用版本的 APP。在单独打包 APP 分发给用户使用之后,通常需要 APP 不进行自动更新,不弹出更新提示。此时我们需要在源代码中的 LaunchActivity.kt 文件中注释 checkAppUpdate (),然后写入 launch () , 如下图所示:

六、打包 Android apk

安卓 APP 打包还是通过 Android Studio,找到菜单 Build -> Generate Signed Bundle or APK ,如下图所示界面:

然后勾选 APK ,下一步:

这次不用新建了因为刚才已经创建好签名文件了,选择你刚才生成的签名文件,输入密码,然后继续:

签名版本 V1 和 V2 都勾选。

点击 Finish 就开始打包了。

打包完成后,APK 文件在 ./app/O2PLATFORM/release/O2PLATFORM-x.x.x.apk

七、如何设置 App 下载地址

O2OA 平台默认的登陆页右上角可以扫码二维码。这个二维码除了有让用户使用 App 扫码完成 PC 端的系统登录的能力之外,如果用户的移动设备还没有安装过 O2OA 的移动办公 App,用户扫描二维码之后,会自动跳转到 APP 下载址,由系统引导用户完成 APP 的安装操作。

App 的下载安装地址可以在服务端进行配置。

配置文件路径:o2server/config/collect.json

如果服务器上没有 config 目录,开发者可以直接创建一个新的目录;

如果服务器上没有 o2server/config/collect.json 这个文件,开发者可以从 o2server/configSample 目录下的配置文件样例中复制一个 collect.json 文件到 o2server/config 目录中。

只有 {o2server/config 中的配置文件才会生效。

collect.json 文件修改内容:

"appUrl": "https://sample.o2oa.net/app/download.html" ##app下载地址

以上是关于如何从源码编译移动办公 APP 的说明,希望对您有帮助。

这篇关于如何从源码编译 O2OA (翱途) 开发平台移动办公 APP?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影