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 ->https://gitee.com/o2oa/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.png和logo_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 。
然后点击新建按钮,创建一个新的签名文件:
下面就是签名文件生成的表单,填写完成后点击 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 ,如下图所示界面:
这次不用新建了因为刚才已经创建好签名文件了,选择你刚才生成的签名文件,输入密码,然后继续:
签名版本 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 的说明,希望对您有帮助。
4000520066 欢迎批评指正
All Rights Reserved 新浪公司 版权所有