打包构建威联通App
背景 由于威联通官方APP市场中可用的App数量比较少,有时需要自己进行打包安装。 这里要说明几点: 打包需要在威联通NAS上进行,不能通过自己的电脑进行。 需要能通过ssh连接上NAS服务器,下面称为命令行后台。 需要能登录威联通NAS UI页面后台,下面称为页面后台。 整个过程主要分为4个步骤: 下载安装QDK 创建要打包的App环境 配置要打包的App 打包 下载安装QDK 下载链接:http://wiki.qnap.com/wiki/QPKG_Development_Guidelines#Downloads 文件下载到本地,通过页面后台手动安装。 创建要打包的App环境 进入命令行后台 # 进入QDK的安装目录 cd `getcfg QDK Install_Path -f /etc/config/qpkg.conf` # 创建你要打包的APP,最后一个参数是APP的名字 qbuild --create-env MyQPKG # 进入MyQPKG目录 cd MyQPKG/ 配置要打包的App 在MyQPKG/目录下,修改qpkg.cfg文件的内容 # 打开配置文件 vim qpkg.cfg # 重点关注下面几个参数 # APP名称 QPKG_NAME="MyQPKG" # APP版本 QPKG_VER="0.1" # APP启动和停止时执行的脚本 QPKG_SERVICE_PROGRAM="MyQPKG.sh" 在MyQPKG/shared目录下修改启动和停止脚本,脚本文件名是上面配置的也就是MyQPKG.sh,这里如果脚本不存在则创建一个。原理就是APP启动时通过脚本把服务启动,停止时把服务杀死。脚本内容如下 #!/bin/sh CONF=/etc/config/qpkg.conf QPKG_NAME="MyQPKG" QPKG_ROOT=`/sbin/getcfg $QPKG_NAME Install_Path -f ${CONF}` APACHE_ROOT=`/sbin/getcfg SHARE_DEF defWeb -d Qweb -f /etc/config/def_share.info` export QNAP_QPKG=$QPKG_NAME case "$1" in start) ENABLED=$(/sbin/getcfg $QPKG_NAME Enable -u -d FALSE -f $CONF) if [ "$ENABLED" != "TRUE" ]; then echo "$QPKG_NAME is disabled." exit 1 fi # 这里时APP启动时执行的命令 /bin/chmod -Rf 777 $QPKG_ROOT/* cd $QPKG_ROOT ./MyQPKG 2>&1 & disown ;; stop) # 这里时APP停止时执行的命令 killall -9 MyQPKG ;; restart) $0 stop $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac exit 0 打包 将依赖文件放入对应的目录,shared/ 中存放平台无关的公共文件,arm-x09/ arm-x19/ arm-x31/ arm-x41(TS-x31+)/ x86/ x86_ce53xx/ x86_64/ 中存放对应平台下的可执行文件等。 比如App可执行文件是打包好的x86_64平台的MyQPKG二进制可执行文件,就把MyQPKG这个文件放到MyQPKG/x86_64/目录下面。 ...