已将 OnecardDemo 的 customer、reader、server、log 四个包迁移到 ZhctTrayBindingMachine 的 com.zhct.traybinding.onecard 命名空间,并完成包声明、包间导入和 Demo 全局常量依赖处理。目标项目 Java 编译通过。
com.zhct.traybinding.onecard.customer:9 个 Java 文件,包含人员解析、分段同步、SQLite 人员仓库和同步日志适配。com.zhct.traybinding.onecard.reader:20 个 Java 文件,包含 USB HID 传输、新开普协议、寻卡、读卡、本地消费、错误模型和 F700 USB 控制器恢复逻辑。com.zhct.traybinding.onecard.server:11 个 Java 文件,包含 WebService 客户端、SOAP 请求与响应、消费记录上传模型、人员格式化和服务器稳定性测试。com.zhct.traybinding.onecard.log:2 个 Java 文件,包含毫秒级本地文件日志、日志轮转、保留期清理、读取和会话标识。com.cpt.onecarddemo.* 包声明及导入已替换为 com.zhct.traybinding.onecard.*。CustomerSyncService 不再依赖 Demo 根目录的 Constants,改为包内公开常量 DEFAULT_BATCH_SIZE = 1000,避免把 Demo 的服务器地址和其他业务配置带入目标项目。INTERNET 权限和明文网络安全配置可支持当前 WebService 客户端。xhci-hcd.1.auto,仅适用于原已验证硬件环境;在其他设备上属于待硬件验证能力。ReaderLog.initialize(Context) 仍需由使用方在开始读卡或同步前调用,否则日志接口保持安全空操作。customer 9 个、reader 20 个、server 11 个、log 2 个。com.cpt.onecarddemo 残留引用。JAVA_HOME=$(/usr/libexec/java_home -v 1.8) bash gradlew --no-daemon :app:compileDebugJavaWithJavac。BUILD SUCCESSFUL in 21s,42 个任务中 10 个执行、32 个为最新状态。OnecardDemo 的 Activity、布局、USB 广播接收器和 USB 权限申请页面逻辑迁入目标项目。ZhctTrayBindingMachine 已有页面、资源、Manifest 或业务网络逻辑。