updater-script修改实战

1. 解压update.zip

目录结构为:

|----boot.img
|----system/
|----recovery/
    |----recovery-from-boot.p
    |----etc/
        |----install-recovery.sh
|---META-INF/
    |CERT.RSA
    |CERT.SF
    |MANIFEST.MF
    |----com/
         |----google/
             |----android/
                  |----update-binary
                  |----updater-script
          |----android/
               |----metadata
               |----otacert

2. 添加需要加入的目录

|----test_dir
    |-----file1
    |-----file2
    |-----file3
    |-----file4
    |-----file5
    |-----file6
    |----delete_file.sh
    |----dir
        |-----file5

delete_file.sh的内容为:

rm /data/file3.txt
主要为了测试在Recovery执行shell脚本

assert(getprop("ro.product.device") == "rk30sdk_joyplus" ||
       getprop("ro.build.product") == "rk30sdk_joyplus");
show_progress(0.500000, 0);
format("ext4", "EMMC", "/dev/block/mtd/by-name/system", "0", "/system");
mount("ext4", "EMMC", "/dev/block/mtd/by-name/system", "/system");
package_extract_dir("recovery", "/system");
package_extract_dir("system", "/system");
ui_print("yedu-lijinwei start");
mount("ext4","EMMC","/dev/block/mtd/by-name/userdata","/data");
package_extract_dir("test_dir", "/data");

symlink("Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf");
symlink("Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf");
symlink("mksh", "/system/bin/sh");
symlink("toolbox", "/system/bin/cat", "/system/bin/chmod",
        "/system/bin/chown", "/system/bin/cmp", "/system/bin/date",
        "/system/bin/dd", "/system/bin/df", "/system/bin/dmesg",
        "/system/bin/getevent", "/system/bin/getprop", "/system/bin/hd",
        "/system/bin/id", "/system/bin/ifconfig", "/system/bin/iftop",
        "/system/bin/insmod", "/system/bin/ioctl", "/system/bin/ionice",
        "/system/bin/kill", "/system/bin/ln", 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Electron Builder和Electron Updater实现自动更新的示例代码: 首先,你需要安装electron-builder和electron-updater: ```bash npm install electron-builder electron-updater --save-dev ``` 然后,在你的主进程文件中,添加以下代码: ```javascript const { app, autoUpdater } = require('electron'); const { autoUpdater } = require('electron-updater'); // 设置更新服务器的地址 autoUpdater.setFeedURL({ provider: 'generic', url: 'http://your-update-server.com' }); // 在应用启动时检查更新 autoUpdater.checkForUpdatesAndNotify(); // 处理更新下载完成事件 autoUpdater.on('update-downloaded', () => { // 通知用户更新已经下载完成,可以安装更新 autoUpdater.quitAndInstall(); }); ``` 在渲染进程(例如你的网页或者界面)中,你可以添加以下代码来手动检查更新: ```javascript const { ipcRenderer } = require('electron'); // 发送事件给主进程来检查更新 ipcRenderer.send('check-for-updates'); // 监听主进程返回的更新状态 ipcRenderer.on('update-status', (event, status) => { if (status === 'update-available') { // 通知用户有新的更新可用,可以选择是否下载 } else if (status === 'update-downloading') { // 通知用户更新正在下载中 } else if (status === 'update-downloaded') { // 通知用户更新已经下载完成,可以安装更新 } else if (status === 'update-not-available') { // 通知用户没有新的更新可用 } }); ``` 最后,在你的Electron Builder配置文件中,添加以下配置: ```json { "mac": { "target": "zip", "category": "your-category" }, "win": { "target": "nsis", "icon": "path/to/icon.ico", "publisherName": "your-publisher-name", "verifyUpdateCodeSignature": false }, "linux": { "target": "AppImage" }, "publish": { "provider": "generic", "url": "http://your-update-server.com" } } ``` 这样,你就可以使用Electron Builder和Electron Updater来实现自动更新了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值