注:该文档适用于SmartbiV8.5以下版本。
场景说明
通过OEM定制,客户可以在原来Smartbi Android APP基础上进行修改,修改其中的应用信息、桌面图标、启动图片、加载中的图片、主界面、登录界面等,最后打包生成一个OEM定制的Android APK文件。
...
下表是一些OEM定制中常需修改的值。其中“名称”一列在修改应用信息时会使用到,在后文中会有说明。
锚 | ||||
---|---|---|---|---|
|
名称 | 示例 | 说明 |
---|---|---|
app_name | Smartbi | 应用显示名称 |
DEFAULT_SERVER_ADDR${n} | http://demo.smartbi.com.cn/smartbi | 配置第n个服务器的地址 |
DEFAULT_USER_NAME${n} | demo | 配置第n个服务器的登录用户名 |
DEFAULT_PASSWORD${n} | demo | 配置第n个服务器的登录密码 |
锚 |
---|
|
|
2.相关图片资源
OEM定制过程中,一般需要修改以下6张图片。注意,在修改时,图片的名称和尺寸必须与下表严格一致。
下表中所说的“路径”在后面修改图片资源时会使用到,在后文中会有说明。
...
图片 | 尺寸 | 路径 |
---|---|---|
桌面图标 | 144×144 | Smartbi for Android Packager\smartbi\res\drawable\logo_icon.png |
LOGO | 550×320 | Smartbi for Android Packager\smartbi\res\drawable\logo.png |
加载中图片 | 1024×768 | Smartbi for Android Packager\smartbi\res\drawable\loading_pad.png |
加载中LOGO | 400×100 | Smartbi for Android Packager\smartbi\res\drawable\loading_logo.png |
主界面背景 | 1024×768 | Smartbi for Android Packager\smartbi\res\drawable\mainview_background.png |
桌面图标(高分辨率设备) | 144×144 | Smartbi for Android Packager\smartbi\res\drawable-hdpi\logo_icon.png |
...
OEM定制步骤
注:若是希望后期oem更新后,APP自动提醒用户更新,可先查看wiki文档,移动端oem定制更新后提醒用户下载 再进行OEM定制 |
---|
为了方便客户进行OEM定制,我们提供了Smartbi for Android Packager工具,按以下步骤可以完成OEM定制:
- 下载Smartbi for Android Packager.zip并解压。
- 在http://app.smartbi.com.cn/indexv8.htm 下载Smartbi apk文件,放到解压后的Smartbi for Android Packager目录中,并重命名为smartbi.apk。
修改Smartbi for Android Packager\decode.cmd中的Java路径,建议先设置好JAVA_HOME环境变量,然后像下图那样设置。注意,JAVA路径最好包含在双引号中,否则会在路径中包含空格时报错。
- 执行Smartbi for Android Packager\decode.cmd,执行完毕后smartbi.apk会被解压生成Smartbi for Android Packager\smartbi文件夹。
- OEM定制的APP应该避免收到各安卓商店的升级提示信息,因为升级相当于将定制内容重置。
用文本编辑器打开Smartbi for Android Packager\smartbi\AndroidManifest.xml,修改<manifest>元素的android:versionCode属性的值(即下图中的值)为一个较大的数值。
该数值是APP的版本号信息,后续发布新的版本,会持续提升这个值。设置一个较大的值,例如9999,可以避免收到各个安桌应用商店的升级提示信息。 - 应用信息修改:用文本编辑器打开Smartbi for Android Packager\smartbi\res\values\strings.xml,就可以对目标信息进行修改。
应用信息的修改可以参考该表,表中的“名称”列对应的就是strings.xml中<string>的name属性。
除了上表提到的信息外,还需修改<string name="updateCheckType">这一元素的值为private,如下图所示,这样可以避免访问app.smartbi.com.cn去获取新版本。
其中,app_name是app的显示名称,version_n / webaddr_v /support_v / copyright_v等在设置界面显示,DEFAULT_SERVER_ADDR1 / DEFAULT_USER_NAME1 / DEFAULT_PASSWORD1D等设置了默认的服务器地址和默认访问用户/密码 - 相关图片资源修改:
相关图片资源都在Smartbi for Android Packager\smartbi\res\drawable-xxx(各目录对应不同分辨率的设备)下。
OEM定制中主要涉及到6张图片,如该表所示。表中“路径”一列表示的就是对应图片文件在解压目录下的位置及名称。
要修改这些资源,只需替换对应的图片文件即可。注意,必须保证替换图片的文件名和图片尺寸与原图片文件完全一致。 修改Smartbi for Android Packager\encode.cmd中的Java路径,然后执行encode.cmd。
执行完成后,Smartbi for Android Packager\smartbi目录下的内容将会被编译成Smartbi for Android Packager\Smartbi_new.apk文件。
...
- 生成keystore证书,这是Android应用签名必须的。
- 如果已经有自己的证书,直接将自己的证书文件重命名为Smartbi.keystore然后放在Smartbi for Android Packager目录下,然后跳到第2步;
- 如果上次已经生成过证书,且证书已经在Smartbi for Android Packager目录下,则直接跳到第2步;
- 如果这是第一次操作,且没有证书,请按以下步骤生成证书文件:
- 修改Smartbi for Android Packager\makekey.cmd中的Java路径、keypass和storepass。
其中keypass和storepass是keystore中需要设置的两个密码,两个密码需要保持一致。 - 执行Smartbi for Android Packager\makekey.cmd,执行完成后,将生成Smartbi for Android Packager\Smartbi.keystore证书文件。
- 修改Smartbi for Android Packager\makekey.cmd中的Java路径、keypass和storepass。
- 修改Smartbi for Android Packager\resign.cmd中的Java路径、keypass和storepass,其中keypass和storepass需要与第1步中设置的值一样。
- 执行Smartbi for Android Packager\resign.cmd。
执行完成后,Smartbi for Android Packager\Smartbi_new.apk文件已经被签名成功。
可以注意到还生成了一个Smartbi for Android Packager\Smartbi_new_Unsigned.apk文件,这个文件是原来没有签名的APK文件的备份。
...
移动端首页资源修改
移动端首页等资源的修改没有在上面的工具中提供,因为它们是服务器提供、APP加载的。
...