IT技术之家 网络技术 斐讯K2P、K3C固件APP应用定制教程

    斐讯K2P、K3C固件APP应用定制教程

    一、前言

    随着斐讯路由器产品的增加,固件的种类也不断增多,会给固件的开发、维护带来很大压力。
    我们可以看到,在新版K2P、K3C、K3的固件中,WEB界面逐步开始统一,其风格和APP的管理模式都趋于一致。

    WEB框架的归一化带来的好处是开发、维护的工作量大大降低,一个产品的特性可以很方便的同步到另一个产品。

    不同产品间通过特性控制文件进行区分,比如在K3C、K3上会打开USB特性,在K2P上会关闭USB特性。

    二、APP应用定制过程

    我们以K3C中增加的Aria2为例介绍如何来添加自己的APP应用

    1、首先我们要为APP增加图标,可以到网上找一个或自己设计一个图标,大小为80*80像素,PNG格式。用winscp登录到K3C,将图标放入到如下目录/www/luci-static/images/app-icon

    图标名称我们取的是aria,如果你要增加自己的,比如xxx,可以把文件名改成xxx.png

    2、增加特性
    1)winscp修改/www/luci-static/dynaform/routing.js文件,在如下位置增加一行:

    2)修改特性控制文件/etc/config/dev_feature
    这里包含了你所要显示的特性,分成两块:
    一个是PC网页可以看到的特性,另一个是手机网页可以看到的特性

    我们在PC网页下增加list installed aria

    3)在APP显示页面增加特性,修改/usr/lib/lua/luci/view/pc/App.htm,增加如下行

    3、增加特性控制文件

    对于APP应用的管理,此web框架在原有的openwrt上又封装了一层,因此有所区别
    一般会有三个文件,分别存在于如下三个目录
    /usr/lib/lua/luci/controller/admin    –配置文件读取处理
    /usr/lib/lua/luci/view/pc                 –页面展示文件
    /usr/lib/lua/luci/data                      –数据保存处理

    我们看到的WEB设置界面一般在/usr/lib/lua/luci/view/pc目录,比如aria2的,文件为/usr/lib/lua/luci/view/pc/aria.htm,你可以参照此文件来写自己的展示页面

    在展示页面的开始,会用lua读取配置文件(/etc/config/aria2),配置读取在/usr/lib/lua/luci/controller/admin/aria.lua文件处理

    在展示页面的保存按钮事件中,会调用apiSet进行数据保存,这是在/usr/lib/lua/luci/data/aria.lua文件处理,此文件还处理保存后需执行的动作,比如启动、停止应用程序

    以上所有文件都可以通过winscp直接打开,你可以参照修改,当然,你需要有一点lua语言的基础

    做完上述步骤后,你可以重启路由器或删除/tmp/luci-modulecache目录下文件,然后刷新网页,你就可以看到你添加的APP图标了!

    4、增加应用程序

    上面所讲的只是WEB界面的控制,真正起作用的是程序,那我们的程序从何得来?
    对于K2P来说比较好办,你可以找MTK的SDK或其他7621的SDK,然后编译出相应的IPK或可执行文件即可,IPK中的文件可以通过WINRAR打开来直接提取。

    对于K3C来说,由于其处理器比较偏门,你需要专门的SDK,请参照我的如下博文进行编译
    https://www.ittel.cn/archives/1632.html
    https://www.ittel.cn/archives/917.html
    用此SDK有一个技巧,如果你用./scripts/feeds install 找不到相应特性,可以用openwrt sdk先安装,再拷贝到K3C的SDK目录,然后用make menuconfig选择后编译

    编译成功后,将应用程序的可执行文件拷贝到K3C中,一般放在/usr/bin目录

    5、增加应用程序的控制

    应用程序一般用脚本语言控制,存放的目录一般为/etc/init.d,比如aria特性的控制脚本为/etc/init.d/aria2,配置文件为/etc/config/aria2,你可以参照修改

    实际操作中,你可能需要具备如下知识:
    linux shell
    lua
    html、JavaScript
    openwrt
    一点点美工

    最后,如果你有做好的APP想集成到定制固件当中,欢迎在本帖或QQ群中反馈,独乐乐不如众乐乐!

    欢迎加入刷机交流群(796285622)

    1、本站提供的软件均为 “试用版” 或者 “免费版”,仅供学习和研究使用
    2、友情提醒:内容全部搜集自网络,安装教程参照压缩包内的Readme.txt编写
    3、因使用本站软件产生的法律责任由使用者自行承担,本站不承担任何连带责任。
    4、如有内容不慎侵犯了您的权益,请速与我联系!
    如有转载请注明出处:https://www.ittel.cn/archives/1628.html
    guest
    0 评论
    内联反馈
    查看所有评论
    联系我们

    联系我们

    QQ:877196754

    在线咨询: QQ交谈

    邮箱: ittel@qq.com

    工作时间:周一至周日,8:00-21:00
    返回顶部
    0
    希望看到您的想法,请您发表评论x