JXar是一款好用的xar文件打包解包工具,xar是迅雷自定义的文件格式,想要进行xar的打包和解包的话就需要专业的軟件,比如小编提供的这款JXar軟件,可一键打包和解包,支持几乎所有的xar文件,需要的朋友可以来本站下载!

XAR是什麽文件?
Xunlei Archive,一种迅雷自定义文件格式。
layout:
本目錄主要由xml文件和lua腳本構成,也可能是打包過的.xar格式的文件,其中包括對象樹模板,對象模板,宿主窗口模板,動畫模板的定義(這裏要特別注意,定義的是模板,並非模板的實例),並描述他們的屬性,方法以及事件響應。並且其中包含所有用戶自定義的控件,所有的用戶自定義控件由一個xml文件以及一個lua文件構成,xml文件中定義控件的屬性,方法,以及事件對應的響應函數,lua腳本中是這些方法和響應函數的實現。XML文件中定義的模板和控件都是靜態的配置信息,只有在通過lua腳本創建控件或者創建模板實例的時候才會去獲取並解析其中的XML節點配置信息,解析的過程中會創建出來相應類型的模板或者控件實例
res:
本目錄主要由資源包構成,裏面可能是一個個的zip格式的資源包,也可能只是文件夾格式的資源包。
nametable.cfg:
本文件主要用來描述layout包裏面定義的控件和模板的位置,便于查找。該文件由XLUECL編譯工具生成。
onload.lua:
本文件是XAR中的驅動,XAR被加載時發現其中有這個文件,就會去加載並運行它,通過它來將layout目錄裏面定義的控件和res目錄裏面定義的資源展示到程序界面中。這個文件標明爲可選,因爲沒有這個文件程序不會報錯,但對于功能完整的XAR包這個是必須的
package.cfg:
本文件主要是用來描述XAR包的一些信息,包括包名,作者,版權所有者等,另外還指明nametable.cfg文件的路徑,主資源包名,以及啓動腳本路徑,除此之外還可以指明該XAR包包含了哪個XAR包。如果指定了包含的XAR,那麽加載該XAR包的時候也會去加載包含的XAR,除非包含的XAR已經被加載過。因此,該XAR包可以使用包含的XAR包中的控件,資源等信息。
package.cfg格式說明:
< package name=”xxx” />
name: xar 名字
author: xar 作者
nametablecfg 节点
path: nametable.cfg 的位置
type: 目前仅支持xml
mainres 节点
package: 资源包的名字
loadsrcipt節點
path: 脚本路径
type: 目前仅支持lua
include節點
package name表示每个依赖的包,可以多个.
nametable.cfg格式說明
這個文件是由xluecl生成的,不需要編輯
layout目錄下文件格式說明:
layout目錄下可以包含xml和lua文件,xml和lua都是區分大小寫的
xml格式說明
1) root节点必须是xlue
2) root子节点可以是objtreetemplate, animation_def, control, hostwndtemplate, objtemplate, animationtemplate, stylelist.不允许出现其他节点
a) objtreetemplate:对象树模板,可以包含id,class, templateid(从模板即成) 三种属性,可以包含attr,obj, templateeventlist子节点,不允许出现其他节点
i. attr可以包含子节点left, top, width, height, mousewheelstrategy
其中left, top, width, height都支持位置表达式,也可以是数字
mousewheelstrategy指示當前對象樹的mousewheel的分發策略,可以取值如下:
l focus 滚轮消息发往当前焦点对象,这是之前一直使用的策略,也是默认策略
l over 滚轮消息发往当前鼠标下面的合适对象,该对象必须可以接收鼠标事件,zorder最高;如果没有找到符合條件的对象,那么直接丢弃该消息,不再发往当前焦点对象
ii. obj表示一个ui 对象,可以是标准对象,也可以是自定义control,具体配置查看obj配置
b) animation_def 参考自定义动画
c) control 参考如何开发control
d) hostwndtemplate 参考 HostWnd的主要类型与使用场合,关键事件
e) objtemplate 参考control内objtemplate介绍
f) animationtemplate 参考自定义动画
g) stylelist