autojs热更新dex
2021/5/9 18:27:49
本文主要是介绍autojs热更新dex,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
牙叔教程 简单易学
声明
本教程仅用于学习, 禁止用于其他用途
使用场景
热更新
autojs版本
8.7.7-0
热更新
热更新是App常用的更新方式。简单来说,就是在用户通下载安装APP之后,打开App时遇到的即时更新。
代码简介
文件版本号和下载地址信息放在语雀,
语雀可以随时更改信息
语雀文章url是不变的
脚本执行的时候,
先从语雀获取更新信息,
然后对比版本号
然后决定是否更新文件
文件放在码云
代码讲解
1. 获取dex更新信息
let 获取dex更新信息 = require("./获取dex更新信息"); let dex更新信息 = 获取dex更新信息(); log(dex更新信息);
2. 比较文件版本号
let localFileVersion = "0.0.1"; let needUpdate = isNeedToUpdateFile(localFileVersion);
3. 卸载所有dex和jar, 下载新dex, 加载dex
runtime.unloadAll(true); let filePath = 下载新版dex(); runtime.loadDex(filePath);
4. 执行dex
new Packages["测试"]()();
获取语雀文章内容
1. 加载类
runtime.loadJar("./jsoup.jar"); importClass(java.io.IOException); importClass(java.text.ParseException); importClass(org.jsoup.Jsoup); importClass(org.jsoup.nodes.Document); importClass(org.jsoup.select.Elements); importClass(org.jsoup.safety.Whitelist);
2. 获取bookId
function getBookId() { let dexVersionurl = "https://www.yuque.com/yashujs/di90k3/gamwoe"; let r = http.get(dexVersionurl); r = r.body.string(); let content = r.match(/window\.appData =.*/); if (content) { let appData = content[0].replace("window.", ""); eval(appData); let bookId = appData.book.id; if (bookId) { return bookId; } throw new Error("没有获取到bookId"); } throw new Error("没有匹配到appData"); }
3. 获取页面内容
function getPageContent(bookId) { log("bookId = " + bookId); let url = "https://www.yuque.com/api/docs/gamwoe?book_id=" + bookId + "&include_contributors=true&include_hits=true&include_like=true&include_pager=true&include_suggests=true"; let r = http.get(url); r = r.body.json(); let content = r.data.content; return content; }
4. 获取网页所有文字
function StripHT(strHtml) { //获得带有保留的br和p标签的漂亮打印的html let prettyPrintedBodyFragment = Jsoup.clean( strHtml, "", Whitelist.none().addTags("br", "p"), new Document.OutputSettings().prettyPrint(true) ); // 通过禁用prettyPrint获得带有保留的换行符的纯文本 return Jsoup.clean(prettyPrintedBodyFragment, "", Whitelist.none(), new Document.OutputSettings().prettyPrint(false)); }
参考文章
- url编码接码
- 使用jsoup将html转换为纯文本时保留换行符
声明
部分内容来自网络
bilibili
牙叔教程
微信公众号 牙叔教程
QQ群
747748653
这篇关于autojs热更新dex的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Vue新手入门教程:从零开始学习Vue框架
- 2024-11-23如何集成Ant Design Vue的图标
- 2024-11-23如何集成Ant Design Vue图标
- 2024-11-23使用vue CLI快速搭建Vue项目教程
- 2024-11-23Vue CLI多环境配置简单教程
- 2024-11-23Vue3入门教程:轻松搭建你的第一个Vue3应用
- 2024-11-23Vue3+Vite快速上手指南
- 2024-11-23Vue3阿里系UI组件入门指南
- 2024-11-23Vue3的阿里系UI组件入门指南
- 2024-11-23Vue3公共组件入门教程