[
2025/09/19 11:05 | by 孤城浪子 ]
2025/09/19 11:05 | by 孤城浪子 ]
把下面内容保存为 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
[
2024/06/02 16:58 | by 孤城浪子 ]
2024/06/02 16:58 | by 孤城浪子 ]
VMware 于2025年2月24日推出了桌面虚拟化平台的最新版本 Workstation Pro 17.6.3 和 Fusion Pro 13.6.3,并且宣布这两个产品对个人使用完全免费。大家可以点击下面的链接下载,下载需要登录 Broadcom Support Portal,如果你在上面还没有账号的话可以注册一个。
- Workstation Pro 17.6.3 下载 (适用于 Windows 桌面上的虚拟化)
- Fusion Pro 13.6.3 下载 (适用于 Mac OS 桌面上的虚拟化)
注意:只有这两个最新版本以及以后的版本才支持个人使用 (Personal Use) 免费许可。以 Workstation Pro 为例,在第一次启动时会要求你输入 license key,对于个人用户而言,你只需要选 Personal Use 就可以免费使用了。

需要注意的是,Workstation Pro 和 Fusion Pro 的免费仅适用于非商业用途,VMware 对于个人使用和商业用途的定义如下:
- 个人使用: Workstation 或 Fusion 安装到电脑后,被用于运行非商业目的的虚拟机。个人使用明确排除将产品用于商业目的,包括经营或运营企业、组织、政府组织或教育机构等。
- 商业用途:企业许可允许将产品用于商业目的,包括经营或运营企业、组织、政府组织或教育机构等。
把 Workstation Pro 和 Fusion Pro 用于商业用途的话需要购买企业许可。
[
2021/10/16 09:34 | by 孤城浪子 ]
2021/10/16 09:34 | by 孤城浪子 ]
使用foobar2000自带编码器转换为Apple lossless格式时出错:
An error occurred while writing to file (The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters)
解决方法:
创建自定义编码器预设,然后指向相关编码器,例如
D:\foobar2000\encoders\qaac64.exe编码器名 Encoder name:QAAC (可自定)
参数Paramenters填: --alac -o %d -
最下面Settings填: -A -o %d -
[
2019/06/10 04:01 | by 孤城浪子 ]
2019/06/10 04:01 | by 孤城浪子 ]
Microsoft Visual C++ 2005
Microsoft Visual C++ 2005 Redistributable Package (x86)
https://download.microsoft.com/download/5/2/1/5212066c-5f48-4b16-a059-ed84b505a65d/vcredist_x86.exe
Microsoft Visual C++ 2005 Redistributable Package (x64)
https://download.microsoft.com/download/4/4/e/44e0443c-e560-48db-b817-f5c94036a89f/vcredist_x64.exe
Microsoft Visual C++ 2008
Microsoft Visual C++ 2008 Redistributable Package (x86)
Microsoft Visual C++ 2008 Redistributable Package (x64)
https://download.microsoft.com/download/2/b/e/2bec4780-6f99-4347-ad31-48d4b46ab1d3/vcredist_x64.exe
Microsoft Visual C++ 2010
Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)
Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)
https://download.microsoft.com/download/A/8/0/A80747C3-41BD-45DF-B505-E9710D2744E0/vcredist_x64.exe
Microsoft Visual C++2012
Visual C++ Redistributable for Visual Studio 2012 Update 4
https://download.microsoft.com/download/9/C/D/9CD480DC-0301-41B0-AAAB-FE9AC1F60237/VSU4/vcredist_x86.exe
https://download.microsoft.com/download/9/C/D/9CD480DC-0301-41B0-AAAB-FE9AC1F60237/VSU4/vcredist_x64.exe
Microsoft Visual C++2013
Visual C++ Redistributable Packages for Visual Studio 2013
https://download.microsoft.com/download/F/3/5/F3500770-8A08-488E-94B6-17A1E1DD526F/vcredist_x86.exe
https://download.microsoft.com/download/F/3/5/F3500770-8A08-488E-94B6-17A1E1DD526F/vcredist_x64.exe
Microsoft Visual C++ 2015
Microsoft Visual C++ 2015 Redistributable Update 3
https://download.microsoft.com/download/6/D/F/6DF3FF94-F7F9-4F0B-838C-A328D1A7D0EE/vc_redist.x86.exe
https://download.microsoft.com/download/6/D/F/6DF3FF94-F7F9-4F0B-838C-A328D1A7D0EE/vc_redist.x64.exe
Microsoft Visual C++ 2005 Redistributable Package (x86)
https://download.microsoft.com/download/5/2/1/5212066c-5f48-4b16-a059-ed84b505a65d/vcredist_x86.exe
Microsoft Visual C++ 2005 Redistributable Package (x64)
https://download.microsoft.com/download/4/4/e/44e0443c-e560-48db-b817-f5c94036a89f/vcredist_x64.exe
Microsoft Visual C++ 2008
Microsoft Visual C++ 2008 Redistributable Package (x86)
https://download.microsoft.com/download/2/b/e/2bec4780-6f99-4347-ad31-48d4b46ab1d3/vcredist_x64.exe
Microsoft Visual C++ 2010
Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)
https://download.microsoft.com/download/A/8/0/A80747C3-41BD-45DF-B505-E9710D2744E0/vcredist_x64.exe
Microsoft Visual C++2012
Visual C++ Redistributable for Visual Studio 2012 Update 4
https://download.microsoft.com/download/9/C/D/9CD480DC-0301-41B0-AAAB-FE9AC1F60237/VSU4/vcredist_x86.exe
https://download.microsoft.com/download/9/C/D/9CD480DC-0301-41B0-AAAB-FE9AC1F60237/VSU4/vcredist_x64.exe
Microsoft Visual C++2013
Visual C++ Redistributable Packages for Visual Studio 2013
https://download.microsoft.com/download/F/3/5/F3500770-8A08-488E-94B6-17A1E1DD526F/vcredist_x86.exe
https://download.microsoft.com/download/F/3/5/F3500770-8A08-488E-94B6-17A1E1DD526F/vcredist_x64.exe
Microsoft Visual C++ 2015
Microsoft Visual C++ 2015 Redistributable Update 3
https://download.microsoft.com/download/6/D/F/6DF3FF94-F7F9-4F0B-838C-A328D1A7D0EE/vc_redist.x86.exe
https://download.microsoft.com/download/6/D/F/6DF3FF94-F7F9-4F0B-838C-A328D1A7D0EE/vc_redist.x64.exe
[
2013/05/07 19:14 | by 孤城浪子 ]
2013/05/07 19:14 | by 孤城浪子 ]
软件下载地址:http://www.jetico.com/bcwipeSetup.exe
注册信息:
-----BEGIN LICENSE-----
BCWipe for Windows: 1
BCWipe Total WipeOut for Windows: 1
Owner: Benjamin Angerer(benjaminangerer@hotmail.com)
Valid for 1 years starting from Fri Jan 25 20:55:12 EET 2013
-----BEGIN ARMORED MESSAGE-----
LS0tLS1CRUdJTiBTSUdORUQgTUVTU0FHRS0tLS0tDQpOQU1FOkJlbmphbWluIEFu
Z2VyZXINCkNPTVBBTlk6DQpBRERSRVNTOlR1YmFja2Fja2Vyc3RyYXNzZSA2IGJl
bmphbWluYW5nZXJlckBob3RtYWlsLmNvbQ0KQ0lUWTpTdGV0dGVuDQpaSVA6ODIz
NA0KQ09VTlRSWTpTd2l0emVybGFuZA0KUEhPTkU6DQpFTUFJTDpiZW5qYW1pbmFu
Z2VyZXJAaG90bWFpbC5jb20NClNJVEVfTElDRU5TRV9CQ1dJUEVfV0lORE9XUzox
DQpTSVRFX0xJQ0VOU0VfQkNXSVBFUEQ6MQ0KTlVNQkVSX09GX1lFQVJTOjENCkRh
dGU6IEZyaSBKYW4gMjUgMjA6NTU6MTIgMjAxMyAoNTEwMkQ1MTApDQpDUDogNjUw
MDENCklzc3VlcjogQ049SmV0aWNvIE9ubGluZSBTaG9wDQpTaWduYXR1cmU6DQpC
SUlCQUQ4WHRGLzdDQVU0L1ZiYmZkN3B0eHhLdkVGVUhDTUlId01sYVlZV1N4UG1w
Ymt0MmpoWElJOC80U09sDQpsT0FmQklhL2x5NlI3UzhpNk04SUpEcEY1MjdtQnNY
ZVZOZlgwNWlPZ01OQWFERlJobG9CczRaTnlxVWpMcWRLDQpjbTVIRWoyMFRIcEdD
SjI2TFhVa2o5VSt0L1dEVDVQZFdtRm1DYVVKcUJsazkvaVJydVg2QzNGb3F0a2FH
YUp2DQpFTGtvRWtzTWVGMEJzT1BSR0ZPZTZQeGZXY1RQSGRaUDdBWFRFWTRzQzVz
bW9QSnpJRHl5YjB3QkphMXcwM1NhDQpPa1ArWnBBNitabnFNcXJLQzhFRlZmWGlB
YVJMR3NmZG10aVNoejN4cXZlU0h4UHhZTGtsY1VjWGZqOU5ib1NyDQpTMUIza3JZ
RzhaYVFDRjVod3REZTQvWVgvQlE9DQoNCi0tLS0tRU5EIFNJR05FRCBNRVNTQUdF
LS0tLS0NCg==
-----END ARMORED MESSAGE-----
-----BEGIN PUBLIC KEY-----
MIIC/DCCAmWgAwIBAgIBBzANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJGSTEf
MB0GCSqGSIb3DQEJARYQc2FsZXNAamV0aWNvLmNvbTEVMBMGA1UEChMMSmV0aWNv
LCBJbmMuMB4XDTEyMDMwNjAwMDAwMFoXDTE0MDMwNjAwMDAwMFowHTEbMBkGA1UE
AxMSSmV0aWNvIE9ubGluZSBTaG9wMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAy4gEtgCrP/qhWIKKg4NSUmUtWuWFELJe75yQD4HGQryq1rgRBENUs81Z
N1libNOCcYdPff7f0N+LGe6nKikS/jEte5I1HbnD/9Z3CHqpFRYG4UbDU0kbtABr
c2rtfeNrt6JT5+2XjK6n7jMvrhGoB0eBNHDiV5C6UqO5Do5Cfc0uf+lSI1m4KD0V
tpoQ4UU9S0/YGM5iF+LLIG61vm/L/r+18XmDkxNCuYcXMEVrFvYeyODTYSdEonnO
QHjwYyqmKx1zz034CGXG2nLP/E1Lnd7m+wL/3sa7o/ZaRrXc4SUWv3c5JFNuRTqt
GkIK9VhD67CrmzEhcOXiTIvQa0vrKwIDAQABo4GfMIGcMB0GA1UdDgQWBBS8oYex
ZyvXdlXMuSxcgY5uhq1ZwTBtBgNVHSMEZjBkgBRvwHQgurKZQ0VrVS3Ued6jsIVu
baFJpEcwRTELMAkGA1UEBhMCRkkxHzAdBgkqhkiG9w0BCQEWEHNhbGVzQGpldGlj
by5jb20xFTATBgNVBAoTDEpldGljbywgSW5jLoIBBzAMBgNVHRMEBTADAQH/MA0G
CSqGSIb3DQEBBQUAA4GBABusr7jzFb5ArZNNEoGDWMkA2RJV3siSfBW2tBOJH+tF
FC6L1pjxnHQT/z8jmErLBSeRfS4XLOGOPvVyXYJQuY8geNGE/QY89Kz7s8BPx5qg
yWqD8zCXdCZXgfNdIKyezg0WazWVXUBL+5lOJqaXo1Nv/K65UNb8rIl+6zZzOyXt
-----END PUBLIC KEY-----
-----END LICENSE-----
注册信息:
-----BEGIN LICENSE-----
BCWipe for Windows: 1
BCWipe Total WipeOut for Windows: 1
Owner: Benjamin Angerer(benjaminangerer@hotmail.com)
Valid for 1 years starting from Fri Jan 25 20:55:12 EET 2013
-----BEGIN ARMORED MESSAGE-----
LS0tLS1CRUdJTiBTSUdORUQgTUVTU0FHRS0tLS0tDQpOQU1FOkJlbmphbWluIEFu
Z2VyZXINCkNPTVBBTlk6DQpBRERSRVNTOlR1YmFja2Fja2Vyc3RyYXNzZSA2IGJl
bmphbWluYW5nZXJlckBob3RtYWlsLmNvbQ0KQ0lUWTpTdGV0dGVuDQpaSVA6ODIz
NA0KQ09VTlRSWTpTd2l0emVybGFuZA0KUEhPTkU6DQpFTUFJTDpiZW5qYW1pbmFu
Z2VyZXJAaG90bWFpbC5jb20NClNJVEVfTElDRU5TRV9CQ1dJUEVfV0lORE9XUzox
DQpTSVRFX0xJQ0VOU0VfQkNXSVBFUEQ6MQ0KTlVNQkVSX09GX1lFQVJTOjENCkRh
dGU6IEZyaSBKYW4gMjUgMjA6NTU6MTIgMjAxMyAoNTEwMkQ1MTApDQpDUDogNjUw
MDENCklzc3VlcjogQ049SmV0aWNvIE9ubGluZSBTaG9wDQpTaWduYXR1cmU6DQpC
SUlCQUQ4WHRGLzdDQVU0L1ZiYmZkN3B0eHhLdkVGVUhDTUlId01sYVlZV1N4UG1w
Ymt0MmpoWElJOC80U09sDQpsT0FmQklhL2x5NlI3UzhpNk04SUpEcEY1MjdtQnNY
ZVZOZlgwNWlPZ01OQWFERlJobG9CczRaTnlxVWpMcWRLDQpjbTVIRWoyMFRIcEdD
SjI2TFhVa2o5VSt0L1dEVDVQZFdtRm1DYVVKcUJsazkvaVJydVg2QzNGb3F0a2FH
YUp2DQpFTGtvRWtzTWVGMEJzT1BSR0ZPZTZQeGZXY1RQSGRaUDdBWFRFWTRzQzVz
bW9QSnpJRHl5YjB3QkphMXcwM1NhDQpPa1ArWnBBNitabnFNcXJLQzhFRlZmWGlB
YVJMR3NmZG10aVNoejN4cXZlU0h4UHhZTGtsY1VjWGZqOU5ib1NyDQpTMUIza3JZ
RzhaYVFDRjVod3REZTQvWVgvQlE9DQoNCi0tLS0tRU5EIFNJR05FRCBNRVNTQUdF
LS0tLS0NCg==
-----END ARMORED MESSAGE-----
-----BEGIN PUBLIC KEY-----
MIIC/DCCAmWgAwIBAgIBBzANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJGSTEf
MB0GCSqGSIb3DQEJARYQc2FsZXNAamV0aWNvLmNvbTEVMBMGA1UEChMMSmV0aWNv
LCBJbmMuMB4XDTEyMDMwNjAwMDAwMFoXDTE0MDMwNjAwMDAwMFowHTEbMBkGA1UE
AxMSSmV0aWNvIE9ubGluZSBTaG9wMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAy4gEtgCrP/qhWIKKg4NSUmUtWuWFELJe75yQD4HGQryq1rgRBENUs81Z
N1libNOCcYdPff7f0N+LGe6nKikS/jEte5I1HbnD/9Z3CHqpFRYG4UbDU0kbtABr
c2rtfeNrt6JT5+2XjK6n7jMvrhGoB0eBNHDiV5C6UqO5Do5Cfc0uf+lSI1m4KD0V
tpoQ4UU9S0/YGM5iF+LLIG61vm/L/r+18XmDkxNCuYcXMEVrFvYeyODTYSdEonnO
QHjwYyqmKx1zz034CGXG2nLP/E1Lnd7m+wL/3sa7o/ZaRrXc4SUWv3c5JFNuRTqt
GkIK9VhD67CrmzEhcOXiTIvQa0vrKwIDAQABo4GfMIGcMB0GA1UdDgQWBBS8oYex
ZyvXdlXMuSxcgY5uhq1ZwTBtBgNVHSMEZjBkgBRvwHQgurKZQ0VrVS3Ued6jsIVu
baFJpEcwRTELMAkGA1UEBhMCRkkxHzAdBgkqhkiG9w0BCQEWEHNhbGVzQGpldGlj
by5jb20xFTATBgNVBAoTDEpldGljbywgSW5jLoIBBzAMBgNVHRMEBTADAQH/MA0G
CSqGSIb3DQEBBQUAA4GBABusr7jzFb5ArZNNEoGDWMkA2RJV3siSfBW2tBOJH+tF
FC6L1pjxnHQT/z8jmErLBSeRfS4XLOGOPvVyXYJQuY8geNGE/QY89Kz7s8BPx5qg
yWqD8zCXdCZXgfNdIKyezg0WazWVXUBL+5lOJqaXo1Nv/K65UNb8rIl+6zZzOyXt
-----END PUBLIC KEY-----
-----END LICENSE-----





