Appearance
Android打包工具发布(Mac)
修改配置
在发布程序之前, 我们需要先将程序的配置文件进行一些必要的配置。
package.json文件中:
bash
"name": 当前程序的名称,请使用英文或者字母,不要使用中文
"description": 当前程序的描述信息
"author": 当前程序的开发者信息
"version": 当前程序的版本信息
"bundleID": 当前程序的包名,可以自定义,比如com.u8sdk.package.tool
"platform": 编译android打包工具时设置为:android;编译iOS打包工具时,设置为ios
"copyright": 安装界面版权声明
.env文件中:
VUE_APP_API: 后端U8SDK管理后台后端服务(u8-x-manager) 的访问地址,记得最后加上/, 比如https://mgrapi.u8sdk.com/
准备工作
1、runtime_android目录结构
正式发布安装程序之前, 我们需要先配置一下runtime_android下面的辅助程序。 整个runtime_android下面需要放置的文件如下:
bash
jre: mac系统一般自带java开发环境,所以可以不放jre目录,如果放了,打包客户端优先使用这里放置的jre
scripts: 在mac下面,使用pyinstaller将打包脚本生成对应的可执行文件,然后将整个可执行文件目录拷贝到这里
tool/mac: 对应打包脚本目录tool/mac目录,可以将打包脚本目录/tool/mac拷贝过来就可以了
u8sdk.json: 打包工具部分辅助工具自定义配置文件,发布的时候,不需要修改;后续发布的app使用者可以根据自己的需要来修改
2、编译打包脚本
为了避免直接使用打包脚本的源码程序,我们先将打包脚本使用pyinstaller编译成可执行程序.app,然后将可执行程序目录,拷贝到上面runtime_android目录下scripts目录里面即可
如果你还没有安装pyinstaller组件, 请先安装pyinstaller组件:
因为mac系统下自带了python2.7版本, 而且诸多系统环境依赖这个python,所以对这个python上面安装一些模块可能会因为各种权限限制而导致失败。 所以,建议可以使用homebrew安装另一个python版本, 比如可以安装一个python3.8.2版本,然后运行如下命令安装pyinstaller:
bash
python -m pip install pyinstaller
然后,在打包脚本scripts目录下,执行如下命令,就可以将scripts脚本编译生成.app可执行程序了:
bash
pyinstaller -w package.py -p aar_utils.py -p apk_helper.py -p assets_merger.py -p builder.py -p config_utils.py -p file_utils.py -p global_pre_script.py -p gradle_utils.py -p http_utils.py -p icon_utils.py -p image_utils.py -p log_utils.py -p manifest_merger.py -p manifest_utils.py -p permission_utils.py -p progress_util.py -p res_merger.py -p sdk_helper.py -p smali_utils.py -p splash_utils.py -p store_utils.py -p temp_utils.py -p upe.py -p yml_utils.py -p res_recovery.py
等待编译完成, 然后将scripts/dist/package
目录下的内容, 全部拷贝到上面runtime_android/scripts
目录下。
编译发布
准备好了runtime_android目录下的内容之后, 我们就可以编译发布生成mac下可执行程序和安装程序了;在U8SDKPM目录下,启动命令行,执行如下命令:
bash
npm run electron:build
等待编译完成, 在U8SDKPM/dist_electron目录下就生成了对应的可执行程序和安装程序了:
mac: 该目录下是绿色免安装版本,可以直接执行里面的U8SDKPM.app启动打包工具
U8SDKPM-1.0.0.dmg: 该文件就是打包工具安装程序, 可以提供这个供合作研发下载在mac下安装
生成ICON
Mac下安装程序的图标, 对应的是U8SDKPM目录下的u8sdk_icon_mac.icns文件, 该文件的生成方式如下:
准备一张大小1024×1024的图标的png图片,命名为:logo_app.png
在mac下面,创建一个目录,将上面图片拷贝进去,然后启动终端,进入该目录执行:
bash
mkdir tmp.iconset
sips -z 16 16 logo_app.png --out tmp.iconset/icon_16x16.png
sips -z 32 32 logo_app.png --out tmp.iconset/icon_16x16@2x.png
sips -z 32 32 logo_app.png --out tmp.iconset/icon_32x32.png
sips -z 64 64 logo_app.png --out tmp.iconset/icon_32x32@2x.png
sips -z 128 128 logo_app.png --out tmp.iconset/icon_128x128.png
sips -z 256 256 logo_app.png --out tmp.iconset/icon_128x128@2x.png
sips -z 256 256 logo_app.png --out tmp.iconset/icon_256x256.png
sips -z 512 512 logo_app.png --out tmp.iconset/icon_256x256@2x.png
sips -z 512 512 logo_app.png --out tmp.iconset/icon_512x512.png
sips -z 1024 1024 logo_app.png --out tmp.iconset/icon_512x512@2x.png
iconutil -c icns tmp.iconset -o Icon.icns
生成的Icon.icns就是你需要的图标文件了。