zhimeihua-auto-checkin
简单的致美化自动签到脚本,用法见脚本内容
简单的致美化自动签到脚本,用法见脚本内容
装备上后就无法脱下的装备,用法见脚本内容。
1 | //============================================================================= |
教程地址:http://www.gotoandplay.it/_articles/2004/02/tonypa.php
教程原作者地址(已失效):http://www.tonypa.pri.ee/
看到一篇非常棒的 2D 瓦片地图游戏开发教程,对瓦片地图游戏进行了手把手级别深入浅出的系统教学。鉴于原文已经是 2004 年的教程,且作者原始博客已经无法访问,为了避免教程遗失,在这里对该教程进行翻译留档。
原文在 Flash 环境使用 ActionScript 进行开发,由于 Flash 播放器在各浏览器上都已停止支持,本文并不能直接展示原教程的示例,仅提供镜像下载。本文也会使用 HTML5 + PixiJS 对教程中的示例进行复刻,仅供参考。
工地安卓项目编译时(2023.10.11)突然报 Could not find com.github.mcxtzhang:SwipeDelMenuLayout:V1.3.0
检查发现该组件在 jitpack.io 上 V1.3.0 版本为 Error 状态,临时改为使用 V1.2.5 版本编译通过。
1 | api 'com.github.mcxtzhang:SwipeDelMenuLayout:V1.2.5' |

问题
在配置工地项目环境时,执行 npm install 初始化时,报错: Refusing to delete xxx
1 | 3621 verbose stack Error: Refusing to delete E:\git\xxx\node_modules\_babel-eslint@10.1.0@babel-eslint\node_modules\@babel\traverse\node_modules\@babel\generator\node_modules\.bin\jsesc.ps1: ../../../../_jsesc@2.5.2@jsesc/bin/jsesc symlink target is not controlled by npm E:\git\xxx\node_modules\_babel-eslint@10.1.0@babel-eslint\node_modules\@babel\traverse\node_modules\@babel\generator\node_modules\jsesc |
1 | 46159 verbose stack Error: Refusing to delete E:\git\xxx\node_modules\_babel-eslint@10.1.0@babel-eslint\node_modules\@babel\traverse\node_modules\.bin\parser.ps1: ../../../../_@babel_parser@7.21.8@@babel/parser/bin/babel-parser.js symlink target is not controlled by npm E:\git\xxx\node_modules\_babel-eslint@10.1.0@babel-eslint\node_modules\@babel\traverse\node_modules\@babel\parser |
解决
经过反复更换 node、npm 版本无果,删除 package-lock.json 无效,删除 .npmrc 无效后,尝试根据报错删除对应文件,如
E:\git\xxx\node_modules\_babel-eslint@10.1.0@babel-eslint\node_modules\@babel\traverse\node_modules\@babel\generator\node_modules\.bin\jsesc.ps1
E:\git\xxx\node_modules\_babel-eslint@10.1.0@babel-eslint\node_modules\@babel\traverse\node_modules\@babel\generator\node_modules\.bin\jsesc.cmd
E:\git\xxx\node_modules\_babel-eslint@10.1.0@babel-eslint\node_modules\@babel\traverse\node_modules\@babel\generator\node_modules\.bin\jsesc
E:\git\xxx\node_modules\_babel-eslint@10.1.0@babel-eslint\node_modules\@babel\traverse\node_modules\.bin\parser.ps1
E:\git\xxx\node_modules\_babel-eslint@10.1.0@babel-eslint\node_modules\@babel\traverse\node_modules\.bin\parser.cmd
E:\git\xxx\node_modules\_babel-eslint@10.1.0@babel-eslint\node_modules\@babel\traverse\node_modules\.bin\parser
后,再次执行 npm install 不再报错,安装成功。
下载最新版 apktool.jar 和 apktool.bat
将 apk(以base.apk为例) 与 apktool.jar 和 apktool.bat 放在同一目录
解包
1 | apktool.bat d base.apk |
生成 base 文件夹
修改文件
打包
1 | apktool.bat b base |
在 ./base/dist 中找到 base.apk
生成 keystore 签名文件
1 | keytool -genkey -alias 别名 -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore |
将 keystore 文件转换为 pk8 和 x509.pem 此部分参考这里
生成 pk12 文件
1 | keytool -importkeystore -srckeystore test.keystore -destkeystore tmp.p12 -srcstoretype JKS -deststoretype PKCS12 |
生成 rsa.pem
1 | openssl pkcs12 -in tmp.p12 -nodes -out tmp.rsa.pem |
复制 BEGIN CERTIFICATE、END CERTIFICATE 部分(包含这两行)到新文件 cert.x509.pem,即是我们最后需要的 x509.pem 证书文件
生成 pk8 文件
1 | openssl pkcs8 -topk8 -outform DER -in tmp.rsa.pem -inform PEM -out private.pk8 -nocrypt |
下载 SignApk,将 base.apk 放入 signapk 目录
签名
1 | java -jar signapk.jar cert.x509.pem private.pk8 base.apk new.apk |
计算点到线段的最短位置,效果如下:
1 | /** |