首页 > 关于我们 > 技术文摘
OA系统:O2OA 安卓和IOS移动端源码编译及APP打包教程
发布时间:

Android APP


O2平台Android端应用。


简介


O2平台Android客户端,最低支持Android版本4.4 [Android KitKat]。


环境安装


请使用最新版本的Android Studio进行导入编译,编译的Android SDK版本是 26 [Android O] 。

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


安装Android Studio完成后,打开设置里面的SDK Manager工具。


image


选择Android 8.0 ,安装SDK。


image


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


image


导入项目


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


image


等它加载完成后可能会弹出这样一个窗口,让你更新gradle版本,这个不需要更新,点击 Donot remind me again for this project


image


项目基本信息修改


项目名称


项目名称就是Android手机桌面上显示的名称,这个名称修改是在strings资源文件中:


具体位置:./app/src/main/res/values/strings.xml


image


项目桌面LOGO


还有就是项目的LOGO,这个LOGO是在Android手机桌面上显示那个图标,这个需要替换图片:

图片位置: ./app/src/main/res 这个资源目录下有4个 mipmap 文件夹,把4个文件夹中的logo.pnglogo_round.png都替换了。

imageimage


唯一应用ID


Android应用都有一个唯一的应用ID applicationId 。这个id代表这个Android App所以不能重复,一般都用公司域名组成的一串字符串,如: com.baidu.app.xxx

修改的文件是在./app/build.gradle 文件中,android -> defaultConfig -> applicationId 。


image


可配置的应用内图标


App内看到的一些O2OA相关的logo图标,可以不编译打包进App,我们服务端可以进行动态配置。用管理员进入我们O2OA的服务端,找到系统设置->移动办公配置->样式配置,就可以修改图标了:


image


直连版本配置


如果你不希望连接到我们O2云,通过修改配置编译打包,生成的Android应用,就会直接连接到你们自己的O2OA服务器。目前这个直连版本是不能接收到通知消息的。

修改方式如下:

在app目录下的build.gradle文件中,找到 android -> buildTypes ,把InnerServer 改成 true 。这里应用有两个 一个debug下的 一个是release下的


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


image


然后找到app->assets 目录下找到server.json文件,把里面的centerHost 、 centerPort、httpProtocol改成你们自己的O2OA中心服务器地址信息。

image


第三方SDK注册配置


找到项目根目录下的 local.properties 文件,里面有一些第三方SDK的key需要配置。


# 下面是第三方SDK 需要的key

# 极光推送
JPUSH_APPKEY=9aca7cc20fe0cc987cd913ca
#百度语音
BAIDU_SPEECH_APPID=9180689
BAIDU_SPEECH_SECRET=gkAZkZ605YIDFoHuPsfvFROsorjDe36H
BAIDU_SPEECH_APPKEY=l2yttjuKSSmggOKRY8nbWuDro7dX4gqq
#百度地图
BAIDU_MAP_APPKEY=l2yttjuKSSmggOKRY8nbWuDro7dX4gqq
#腾讯bugly
BUGLY_APPID=71c852531c


这些key具体的注册获取,下面有大致说明。


百度语音识别和语音合成


百度语音的官方地址:http://yuyin.baidu.com/

点击右上角控制台登录后,创建应用


image


注册完成后,查看应用详情,就能看到百度语音相关的AppId、AppKey、SecretKey。把这3个字段内容拷贝到local.properties文件中对应的地方。


image


百度地图


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

登录,进入控制台,创建应用。


image


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


生成签名文件


签名文件可以用Android Studio 生成。先找到Android Studio菜单 Build -> Generate Signed Bundle or APK 。


image


然后勾选APK ,下一步。

image


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

image


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

image


获取百度地图需要的SHA1


使用keytool生成SHA1


  1. 运行进入控制台(以Window开发环境为例)


image


image


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


image


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


image


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


极光


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

注册登录后,先创建应用。

image


应用创建后应用信息里面有一个AppKey,把值拷贝后粘贴到local.properties 文件中的极光推送AppKey对应的地方 JPUSH_APPKEY


还是在极光应用管理界面点击左边的 推送设置 菜单,把你的应用ID填写进Android那栏:

image


打包Android apk


打包还是通过Android Studio工具。上面提到的生成签名文件的时候一样,找到菜单 Build -> Generate Signed Bundle or APK 。


image


然后勾选APK ,下一步。

image


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

image


这里的签名版本V1和V2都勾选。点击 Finish 就开始打包了。

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


IOS APP


O2平台IOS端应用。


简介


O2平台IOS客户端,最低支持IOS版本10.0


准备


Xcode版本11

image

项目使用了COCOAPODS,需要本地安装最新版本的COCOAPODS。

然后到项目根目录执行pod命令:


pod install


导入项目


在项目根目录找到 O2Platform.xcworkspace ,双击打开项目。

在XCode中找到菜单 : File -> Workspace Settings ...

修改Build System 选项为 Legacy Build System

image





项目基本信息修改


项目名称


项目名称就是ios手机桌面上显示的名称,这个名称修改如下:


Screen Shot 2019-04-10 at 20.29.39


还有一个是app唯一ID也需要修改。


项目桌面LOGO


还有就是项目的LOGO,这个LOGO是在IOS手机桌面上显示那个图标,找到Assets资源目录,替换AppIcon里面的图片。如下图:

image




可配置的应用内图标


App内看到的一些O2OA相关的logo图标,可以不编译打包进App,我们服务端可以进行动态配置。用管理员进入我们O2OA的服务端,找到系统设置->移动办公配置->样式配置,就可以修改图标了:


image


直连版本配置


如果你不希望连接到我们O2云,通过修改配置编译打包,生成的IOS应用,就会直接连接到你们自己的O2OA服务器。目前这个直连版本是不能接收到通知消息的。

修改方式如下:

 

image




 

在 O2Platform -> config -> config.swift 文件中找到


//改为false就是直连版本
let O2IsConnect2Collect = false


然后找到O2Platform 目录下找到Info.plist文件,把里面的centerHost 、 centerPort、httpProtocol改成你们自己的O2OA中心服务器地址信息。


image




官方网站:


官方网站 : http://www.o2oa.net


下载地址 : http://www.o2oa.net


oschina项目主页 : https://www.oschina.net/p/o2oa