把下面内容保存为 apksign.bat 文件:

@echo off
setlocal enabledelayedexpansion

:: 设置 build-tools 路径
set "BUILD_TOOLS_DIR=.\33.0.2"
:: 检查是否传入了参数
if "%~1" equ "" (
    echo.
    echo 错误:请提供一个文件名作为参数,可以不输入扩展名,处理时自动添加.apk。
    echo.
    echo 示例: %~n0 appname 或 %~n0 appname.apk
    goto :end
)

:: 获取原始文件名(不含路径)
set "original_filename=%~nx1"

:: 获取文件扩展名
set "file_ext=%~x1"

:: 判断文件扩展名是否为空,如果为空,则添加.apk
if "%file_ext%" equ "" (
    set "original_filename=%original_filename%.apk"
)

:: 获取文件名(不包含路径和后缀)
for %%f in ("%original_filename%") do set "input_file=%%~nf"

:: 定义处理过程中的临时和最终文件名称
set "v1_signed_apk=%input_file%_v1.apk"
set "v1_signed_v2_aligned_apk=%input_file%_align.apk"
set "final_signed_apk=%input_file%_signed.apk"
del "%v1_signed_apk%"
del "%v1_signed_v2_aligned_apk%"

echo.
echo =========================================================
echo 开始对文件 "%original_filename%" 进行 APK 签名和对齐
echo =========================================================
echo.

:: 步骤1:V1 签名
:: 将原始APK进行V1签名,并输出到v1_signed_apk文件
echo 正在执行 V1 签名...
jarsigner -verbose -keystore key.keystore -storepass 123456 -signedjar "%v1_signed_apk%" "%original_filename%" key >nul
if errorlevel 1 goto :error_handler

echo.
echo V1 签名完成。生成文件: "%v1_signed_apk%"
echo.

:: 步骤2:zipalign 对齐
:: 对V1签名后的文件进行对齐操作,并输出到v1_signed_v2_aligned_apk文件
echo 正在执行 zipalign 对齐...
zipalign 4 "%v1_signed_apk%" "%v1_signed_v2_aligned_apk%"
if errorlevel 1 goto :error_handler

echo.
echo 对齐完成。生成文件: "%v1_signed_v2_aligned_apk%"
echo.

:: 步骤3:V2 签名
:: 对齐后的文件进行V2签名,并输出到final_signed_apk文件
echo  正在执行 V2 签名...
call "%BUILD_TOOLS_DIR%\apksigner.bat"  sign --ks key.keystore --ks-key-alias key --ks-pass pass:123456 --out "%final_signed_apk%" "%v1_signed_v2_aligned_apk%"
if errorlevel 1 goto :error_handler

echo.
echo V2 签名完成。最终文件: "%final_signed_apk%"
echo.

:: 步骤4:验证最终文件的 zipalign 对齐
echo 正在验证最终文件的对齐...
zipalign -c -v 4 "%final_signed_apk%" >nul
call "%BUILD_TOOLS_DIR%\apksigner.bat"  verify -v --print-certs "%final_signed_apk%"
echo.
echo 签名和对齐流程全部完成!
echo 最终文件: "%final_signed_apk%"

:: 清理中间文件
echo 正在清理中间文件...
del "%v1_signed_apk%"
del "%v1_signed_v2_aligned_apk%"

goto :end

:error_handler
echo.
echo 错误:签名或对齐过程中出现问题。请检查命令和文件。
echo.

:end
endlocal
编辑配置文件
%localappdata%\Logitech\Logitech Gaming Software\settings.json
在最后一个括号前添加

, "notification" :    {     "showDpiChangeToastNotify" : false,     "showProfileChangeToastNotify" : false   }

保存退出,然后把settings.json设置成只读

如图:



     To anyone that stumbles with this you can disable the notifications  by editing the file located at: `%localappdata%\Logitech\Logitech Gaming  Software\settings.json`  

     and adding this before the last }:  

, "notification" :    {     "showDpiChangeToastNotify" : false,     "showProfileChangeToastNotify" : false   }

Set the file to read-only!



Windows Server 2025 和 Win11不能直接拖放文件到任务栏软件上打开,解决方法:

Win+R,输入secpol.msc 打开本地安全策略,
本地策略--安全选项--用户账户控制:用于内置管理员账户的管理员批准模式,
双击,已启用,重启电脑,OK

适用于24H2版本


原因:微软在  24H2 更新中强制使用 SMB 签名、禁用访客回退等措施
解决方法:组策略---Microsoft 网络客户端: 对通信进行数字签名(始终) 改成禁用



[不指定 2024/06/08 10:35 | by 孤城浪子 ]

在 Kubernetes 中,您可能需要重置节点并将其重新加入集群,原因有很多,例如:

  • 节点出现故障需要重建
  • 节点操作系统需要升级
  • 节点配置需要更改
  • 节点需要从集群中永久移除

以下是一些关于如何重置 Kubernetes 节点并将其重新加入集群的步骤:

步骤 1: 驱逐节点(可选)

如果可能,最好先从集群中安全地驱逐节点。这将确保在节点不可用时,工作负载能够平稳地迁移到其他节点上。您可以使用以下命令驱逐节点:

kubectl drain <node-name> --ignore-daemonsets --delete-local-data 

步骤 2: 从集群中删除节点

使用以下命令从集群中删除节点:

kubectl delete node <node-name> 

步骤 3: 清理节点

在节点本身上,您需要清理所有 Kubernetes 组件和数据。这可以通过以下步骤完成:

  • 停止 kubelet 服务:

    systemctl stop kubelet 
  • 禁用 kubelet 服务:

    systemctl disable kubelet 
  • 清除所有 Kubernetes 相关文件和目录,包括:

    • /var/lib/kubelet/*
    • /etc/cni/net.d/*
    • /var/lib/cni/*
    • /etc/kubernetes/*

    您可以使用以下命令删除这些文件和目录:

    rm -rf /var/lib/kubelet/* /etc/cni/net.d/* /var/lib/cni/* /etc/kubernetes/* 

步骤 4: 重置网络配置(如果需要)

如果您的节点使用 CNI 网络插件,您可能还需要重置网络配置。这可以通过删除 CNI 配置文件并重启网络服务来完成。

步骤 5: 重新加入节点

清理节点后,您可以使用与最初添加节点时相同的步骤将其重新添加到集群中。这通常涉及运行由 kubeadm join 命令生成的加入脚本。

注意事项:

  • 在执行这些步骤之前,请备份您的 Kubernetes 集群和节点。
  • 这些步骤可能会导致数据丢失,因此请谨慎操作。
  • 在某些情况下,您可能需要执行其他步骤来重置和重新加入节点,具体取决于您的环境。
 
分页: 1/70 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表