O2OA是真正全代码开源的应用开发平台,开发者可以直接使用从github或者gitee上clone的源码编译成安卓客户端,代码可以修改,安全可靠,无限制。本文主要介绍如何从gitee上下载源码并且完成安卓客户端编译打包工作。
O2平台Android客户端,最低支持Android版本4.4 Android KitKat,编程语言主要使用kotlin
请使用最新版本的Android Studio
进行导入编译,编译的Android SDK版本是 28 。 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版本进行安装。
打开Android Studio
点击Open an existing Android Studio project
等它加载完成后可能会弹出这样一个窗口,让你更新gradle版本,这个不需要更新,点击 Donot remind me again for this project
项目名称就是Android手机桌面上显示的名称,这个名称修改是在strings资源文件中:
具体位置:./app/src/main/res/values/strings.xml
还有就是项目的LOGO,这个LOGO是在Android手机桌面上显示那个图标,这个需要替换图片: 图片位置: ./app/src/main/res
这个资源目录下有4个 mipmap
文件夹,把4个文件夹中的logo.png
和logo_round.png
都替换了。
Android应用都有一个唯一的应用ID applicationId
。这个id代表这个Android App所以不能重复,一般都用公司域名组成的一串字符串,如: com.baidu.app.xxx
。 修改的文件是在./app/build.gradle
文件中,android -> defaultConfig -> applicationId 。
App内看到的一些O2OA相关的logo图标,可以不编译打包进App,我们服务端可以进行动态配置。用管理员进入我们O2OA的服务端,找到系统设置->移动办公配置->样式配置,就可以修改图标了:
找到项目根目录下的 gradle.properties
文件,里面有一些第三方SDK的key需要配置。
# 下面是第三方SDK 需要的key
# 极光推送
JPUSH_APPKEY_DEBUG=极光推送AppKey
#百度地图
BAIDU_MAP_APPKEY=百度地图Appkey
这些key具体的注册获取,下面有大致说明。
百度地图官方地址:http://lbsyun.baidu.com/ 登录,进入控制台,创建应用。
如图这里有一个必填项SHA1,这个SHA1需要用到Android 打包的签名文件。所以先要有一个签名文件。
生成签名文件
签名文件可以用Android Studio 生成。先找到Android Studio菜单 Build -> Generate Signed Bundle or APK
获取百度地图需要的SHA1
使用keytool生成SHA1
运行进入控制台(以Window开发环境为例)
and_key6.png
and_key7.png
定位到.android
文件夹下,输入cd .android
and_key8.png
继续在控制台输入命令。 命令为:keytool -list -v -keystore 这里写上面生成的那个签名文件的全路径
输入密码获取。 提示输入签名文件密码。输入密码后回车,此时可在控制台显示的信息中获取SHA1值,如下图所示:
and_key10.png
把这里显示的SHA1的值拷贝到刚才百度地图应用创建页面表单中 ,创建地图应用成功后,到应用列表页面拷贝应用的AK就是AppKey的值。
应用创建后应用信息里面有一个AppKey,把值拷贝后粘贴到local.properties
文件中的极光推送AppKey对应的地方 JPUSH_APPKEY
。
还是在极光应用管理界面点击左边的 推送设置
菜单,把你的应用ID填写进Android那栏:
如果你不希望连接到我们O2云,通过修改配置编译打包,生成的Android应用,就会直接连接到你们自己的O2OA服务器。
直连版本的消息推送配置查看:《O2OA移动端APP直连版本如何开启消息推送》。
修改方式如下: 在app目录下的build.gradle文件中,找到 android -> buildTypes ,把InnerServer
改成 true
。这里应用有两个 一个debug下的 一个是release下的
buildConfigField "Boolean", "InnerServer", "true"
然后找到app->assets 目录下找到server.json文件,把里面的centerHost 、 centerPort、httpProtocol改成你们自己的O2OA中心服务器地址信息。
如果想要不自动更新app,不弹出更新提示,需要到LaunchActivity.kt 文件中找到下图位置,把 checkAppUpdate() 注释掉,然后写入 launch() 。
打包还是通过Android Studio工具。上面提到的生成签名文件的时候一样,找到菜单 Build -> Generate Signed Bundle or APK 。
这里的签名版本V1和V2都勾选。点击 Finish
就开始打包了。 打包完成后,APK文件在 ./app/O2PLATFORM/release/O2PLATFORM-4.8.0.apk
我们O2OA平台登陆页扫码登录的二维码,有两个功能:
第一个是通过app扫码登录
第二个是如果手机还没有安装我们的app,通过其他app,如微信,扫码就会跳转到app的下载安装地址
登录页
登录页2
app的下载安装地址可以配置,打开o2server/config/collect.json ,如果没有这个文件就到o2server/configSample目录下复制一个过去。{
"appUrl": "https://sample.o2oa.net/app/download.html" ##app下载地址
}
官方网站 : http://www.o2oa.net
下载地址 : http://www.o2oa.net
oschina项目主页 : https://www.oschina.net/p/o2oa