博客

  • APK签名工具

    该程序是一个原生 C++ Win32 应用,旨在为 Android 开发者提供一个无需依赖 Python 环境或 IDE 的轻量级 APK 签名解决方案。以下是详细的功能与技术介绍:

    🛠️ 核心功能概览

    1. 全方案签名支持 (V1/V2/V3)
      • 程序完美支持 Android 的三种主流签名方案。
      • 用户可通过界面上的复选框自由组合签名策略(默认开启 V1 和 V2),确保 APK 在不同版本的 Android 系统上都能正确安装。
    2. 自动化工作流
      • 智能对齐:在进行 V2/V3 签名前,自动调用 zipalign 对 APK 进行 4 字节对齐优化,这是官方推荐的标准流程,能有效减少内存消耗。
      • 双重签名引擎:优先使用 Google 官方推荐的 apksigner(支持 V2/V3),若工具缺失或用户仅选择 V1 方案,则自动回退至 JDK 的 jarsigner,兼容性极强。
      • 签名验证:签名完成后自动验证签名有效性,并检查 APK 是否已正确对齐。
    3. 密钥库一体化管理
      • 内置创建密钥库功能,用户无需记忆繁琐的命令行参数。
      • 支持自定义密码、别名、有效期(默认 100 年)、以及个人/组织信息,一键调用 keytool 生成 JKS 文件。

    💻 技术架构亮点

    1. 原生 Win32 API 开发
      • 程序未使用 MFC 或 .NET 等重量级框架,而是直接基于 Win32 API 构建窗口、控件及消息循环。这使得程序体积极小、启动速度快,且无额外运行时依赖。
    2. 现代深色 UI 风格
      • 摆脱了 Windows 默认的灰色界面,通过自绘控件实现了类似 VS Code 的深色主题(Dark Theme)。
      • 代码中定义了 BG_COLORPANEL_COLOR 等宏,通过处理 WM_CTLCOLORSTATIC 和 WM_PAINT 消息,实现了背景、编辑框、分组框的统一着色,视觉效果专业。
    3. 健壮的工具链查找机制
      • 这是程序最复杂的逻辑之一。它能智能定位 JDK 和 Android SDK 的路径:
        • Java 环境:扫描 PATH、JAVA_HOME、JDK_HOME,甚至递归搜索 Program Files 下的常见安装目录。
        • Android SDK:自动检测 ANDROID_HOME、ANDROID_SDK_ROOT,并能遍历 build-tools 目录自动选取最新版本的 zipalign 和 apksigner
    4. 多线程与进程通信
      • UI 响应优化:签名、创建密钥等耗时操作均在独立线程(std::thread)中运行,避免界面假死。
      • 管道重定向:通过匿名管道捕获命令行工具的标准输出和标准错误,实时显示在界面的日志窗口中,方便用户排查问题。
      • 密码安全:在日志打印执行命令时,自动检测并将密码替换为 ***,防止敏感信息泄露。
    5. 日志系统
      • 实现了带时间戳的日志记录功能,支持日志导出为 UTF-8 格式的 TXT 文件,并自动添加文件头标识。

    📋 操作流程逻辑

    程序界面布局清晰,分为“选择文件区”、“创建密钥库区”、“功能区”和“日志区”。

    • 步骤一:用户选择待签名的 APK 文件和已有的密钥库,输入密码和别名。
    • 步骤二:选择签名方案(V1/V2/V3)。
    • 步骤三:点击“签名APK”。程序内部执行:
      1. Zipalign:生成临时对齐文件。
      2. Sign:调用 apksigner 或 jarsigner 注入签名。
      3. Verify:验证签名方案是否生效。
      4. Output:生成 *_signed.apk 并报告文件大小。

    📝 总结

    这不仅是一个简单的工具调用器,而是一个经过深思熟虑的工程化工具。它解决了开发者在签名环节“命令行参数难记”、“环境变量配置复杂”、“工具版本管理混乱”的痛点。代码风格规范,注释清晰,包含完善的错误提示和引导链接,是一款非常实用的开发者辅助工具。

    下载地址:

    网盘名称地址提取码备注编号
    123网盘https://www.123865.com/s/haDnjv-L5YtH?pwd=YiK1#YiK11
    GF网盘https://pan.gfwl.top/f/o2zAfP/Windows%E6%A1%8C%E9%9D%A2%E7%AB%AFAPK%E5%AE%89%E8%A3%85%E5%8C%85%E7%AD%BE%E5%90%8D%E5%B7%A5%E5%85%B7.exe直链下载2
    极溯网盘:(请求失败:(请求失败:(请求失败3
    蓝奏云https://wwbxn.lanzouu.com/ijt5l3izecyh2r124
  • Android Studio、Android SDK Build Tools 与 Eclipse Temurin 安装指南

    系统要求

    通用要求

    组件最低要求推荐配置
    操作系统Windows 10/11, macOS 10.14+, Ubuntu 18.04+最新稳定版系统
    内存8 GB16 GB 或更多
    磁盘空间8 GB32 GB SSD
    JDKEclipse Temurin 17Eclipse Temurin 21 LTS / 25 LTS
    显示器1280×8001920×1080 或更高分辨率

    前置准备:安装 Eclipse Temurin JDK

    重要:Android Studio 需要 JDK 17 或更高版本。Eclipse Temurin(原 AdoptOpenJDK)是由 Eclipse 基金会维护的开源 JDK,经过全面测试,是 Android 开发的推荐选择。

    步骤 1:下载 Eclipse Temurin

    官方下载渠道

    访问官方下载页面:

    https://adoptium.net/temurin/releases/

    版本选择建议

    • Android Studio Iguana (2023.2.1)+:Temurin 21 LTS 或 25 LTS(长期支持)
    • 旧版 Android Studio:Temurin 17 LTS
    • 保守选择:Temurin 21 LTS(最稳定兼容)

    国内镜像下载渠道(推荐)

    123云盘 VIP 会员分享 – 适合国内网络环境快速下载

    Windows 用户

    macOS/Linux 用户:请使用官方下载渠道或以下国内镜像:

    步骤 2:安装 Eclipse Temurin

    Windows 安装(使用 123 云盘下载的 25 版本)

    1. 下载文件:从 123 云盘下载 OpenJDK25U-jdk_x64_windows_hotspot_*.msi
    2. 双击运行 MSI 安装程序
    3. 安装选项(建议全选):
      • Add to PATH:自动添加到系统环境变量
      • Set JAVA_HOME variable:设置 JAVA_HOME 变量
      • JavaSoft (Oracle) registry keys:注册表项(确保兼容性)
    4. 选择安装路径(默认):plain复制C:\Program Files\Eclipse Adoptium\jdk-25.x.x.x-hotspot
    5. 完成安装

    注意:Temurin 25 是最新特性版本,Android Studio 完全兼容。如需 LTS 版本(21 或 17),请从官方渠道下载。

    Windows 安装(官方渠道)

    使用 MSI 安装程序(推荐)

    1. 从官网下载 .msi 文件(例如:OpenJDK21U-jdk_x64_windows_hotspot_21.0.2_13.msi
    2. 双击运行安装程序
    3. 选择安装选项:
      • Add to PATH:自动添加到系统环境变量
      • Set JAVA_HOME variable:设置 JAVA_HOME 变量
      • JavaSoft (Oracle) registry keys:注册表项(确保兼容性)
    4. 选择安装路径(默认:C:\Program Files\Eclipse Adoptium\jdk-21.0.2.13-hotspot
    5. 完成安装

    使用 Zip 压缩包

    # 1. 解压到指定目录(例如 C:\Program Files\Java)
    # 2. 手动配置环境变量(见后续章节)

    macOS 安装

    使用 PKG 安装程序

    1. 从官网下载 .pkg 文件(例如:OpenJDK21U-jdk_x64_mac_hotspot_21.0.2_13.pkg
    2. 双击运行,按照向导完成安装
    3. 默认安装路径:/Library/Java/JavaVirtualMachines/temurin-21.jdk

    使用 Homebrew

    # 安装 Homebrew(如未安装)
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
    # 安装 Eclipse Temurin
    brew install --cask temurin@21
    
    # 或安装 Temurin 17
    brew install --cask temurin@17
    
    # 验证安装
    java -version

    Linux 安装

    Ubuntu/Debian

    # 1. 安装依赖
    sudo apt update
    sudo apt install -y wget apt-transport-https
    
    # 2. 添加 Adoptium APT 仓库
    sudo mkdir -p /etc/apt/keyrings
    wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo tee /etc/apt/keyrings/adoptium.asc
    
    # 3. 添加仓库源
    echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | sudo tee /etc/apt/sources.list.d/adoptium.list
    
    # 4. 更新并安装
    sudo apt update
    sudo apt install temurin-21-jdk
    
    # 验证
    java -version

    CentOS/RHEL/Fedora

    # 1. 添加仓库
    sudo cat <<EOF > /etc/yum.repos.d/adoptium.repo
    [Adoptium]
    name=Adoptium
    baseurl=https://packages.adoptium.net/artifactory/rpm/centos/\$releasever/\$basearch
    enabled=1
    gpgcheck=1
    gpgkey=https://packages.adoptium.net/artifactory/api/gpg/key/public
    EOF
    
    # 2. 安装
    sudo yum install temurin-21-jdk
    
    # 或 Fedora
    sudo dnf install temurin-21-jdk

    手动安装(通用 Linux)

    # 1. 下载并解压
    cd /opt
    sudo wget https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.2%2B13/OpenJDK21U-jdk_x64_linux_hotspot_21.0.2_13.tar.gz
    sudo tar -xzf OpenJDK21U-jdk_x64_linux_hotspot_21.0.2_13.tar.gz
    sudo mv jdk-21.0.2+13 temurin-21-jdk
    
    # 2. 配置环境变量(见后续章节)

    安装方式一:Android Studio 完整安装

    步骤 1:验证 JDK 安装

    在安装 Android Studio 前,先确认 Eclipse Temurin 已正确安装:

    # 检查 Java 版本
    java -version
    
    # 预期输出(示例 - Temurin 25)
    openjdk version "25" 2025-09-16
    OpenJDK Runtime Environment Temurin-25+13 (build 25+13)
    OpenJDK 64-Bit Server VM Temurin-25+13 (build 25+13, mixed mode, sharing)
    
    # 或 Temurin 21 LTS
    openjdk version "21.0.2" 2024-01-16 LTS
    OpenJDK Runtime Environment Temurin-21.0.2+13 (build 21.0.2+13-LTS)
    OpenJDK 64-Bit Server VM Temurin-21.0.2+13 (build 21.0.2+13-LTS, mixed mode, sharing)
    
    # 检查 JAVA_HOME
    echo $JAVA_HOME  # macOS/Linux
    echo %JAVA_HOME% # Windows CMD

    步骤 2:下载并安装 Android Studio

    https://developer.android.com/studio

    安装注意事项

    • 安装程序会自动检测系统已安装的 JDK
    • 如未检测到,可手动指定 Eclipse Temurin 路径

    步骤 3:配置 Android Studio 使用 Eclipse Temurin

    首次启动或后续修改:

    1. 打开设置
      • Windows:File > Settings > Build, Execution, Deployment > Build Tools > Gradle
      • macOS:Android Studio > Settings > Build, Execution, Deployment > Build Tools > Gradle
    2. 配置 Gradle JDK
      • 选择 Gradle JDK 下拉菜单
      • 选择 Download JDK(如需下载其他版本)或 Add JDK
      • 手动指定 Eclipse Temurin 路径:
        • Windows(123云盘 25 版本):C:\Program Files\Eclipse Adoptium\jdk-25.x.x.x-hotspot
        • Windows(官方 21 版本):C:\Program Files\Eclipse Adoptium\jdk-21.0.2.13-hotspot
        • macOS:/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
        • Linux:/usr/lib/jvm/temurin-21-jdk/opt/temurin-21-jdk
    3. 验证配置
      • 点击 Apply 后,查看 Gradle 同步是否正常

    步骤 4:安装 SDK Build Tools

    1. 打开 SDK Manager (Tools > SDK Manager)
    2. SDK Platforms:选择需要的 Android 版本(建议 Android 14 API 34)
    3. SDK Tools 标签页,勾选:plain复制☑️ Android SDK Build-Tools 35.0.0(或最新) ☑️ Android SDK Command-line Tools (latest) ☑️ Android SDK Platform-Tools ☑️ Android Emulator ☑️ Intel x86 Emulator Accelerator (HAXM installer) [Windows/macOS Intel]

    安装方式二:仅安装 Android SDK Build Tools

    适用于 CI/CD 或命令行开发环境。

    步骤 1:确保 Eclipse Temurin 已安装

    java -version
    # 必须显示 Eclipse Temurin 信息

    步骤 2:下载命令行工具

    mkdir -p ~/android-sdk/cmdline-tools
    cd ~/android-sdk/cmdline-tools
    
    # 根据系统选择下载链接
    # Linux:
    wget https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
    # macOS:
    wget https://dl.google.com/android/repository/commandlinetools-mac-11076708_latest.zip
    # Windows: 使用浏览器下载 commandlinetools-win-11076708_latest.zip
    
    unzip commandlinetools-*.zip
    mv cmdline-tools latest

    步骤 3:安装 SDK 组件

    export ANDROID_HOME=$HOME/android-sdk
    export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
    
    # 同意许可
    yes | sdkmanager --licenses
    
    # 安装核心组件
    sdkmanager "build-tools;35.0.0" \
               "platforms;android-34" \
               "platform-tools" \
               "cmdline-tools;latest"
    
    # 验证
    sdkmanager --list_installed

    环境变量配置

    完整环境变量配置(推荐)

    Windows (PowerShell 配置脚本)

    注意:根据安装的 Temurin 版本调整路径(25 或 21)

    # 以管理员运行 PowerShell,执行以下命令
    
    # 1. 设置系统变量(Temurin 25 版本 - 123云盘下载)
    [Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Eclipse Adoptium\jdk-25.0.0.0-hotspot", "Machine")
    
    # 或 Temurin 21 LTS 版本(官方下载)
    # [Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Eclipse Adoptium\jdk-21.0.2.13-hotspot", "Machine")
    
    [Environment]::SetEnvironmentVariable("ANDROID_HOME", "$env:USERPROFILE\AppData\Local\Android\Sdk", "Machine")
    
    # 2. 更新 Path
    $currentPath = [Environment]::GetEnvironmentVariable("Path", "Machine")
    $newPath = "$currentPath;%JAVA_HOME%\bin;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\cmdline-tools\latest\bin;%ANDROID_HOME%\emulator"
    [Environment]::SetEnvironmentVariable("Path", $newPath, "Machine")
    
    # 3. 验证(重启终端后)
    java -version
    adb version

    macOS (zsh 配置)

    # 编辑 ~/.zshrc
    cat << 'EOF' >> ~/.zshrc
    
    # Eclipse Temurin JDK
    export JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
    
    # Android SDK
    export ANDROID_HOME=$HOME/Library/Android/sdk
    export ANDROID_SDK_ROOT=$ANDROID_HOME
    
    # PATH 配置
    export PATH=$JAVA_HOME/bin:$PATH
    export PATH=$ANDROID_HOME/platform-tools:$PATH
    export PATH=$ANDROID_HOME/cmdline-tools/latest/bin:$PATH
    export PATH=$ANDROID_HOME/emulator:$PATH
    export PATH=$ANDROID_HOME/build-tools/35.0.0:$PATH
    
    # 别名(可选)
    alias adb='$ANDROID_HOME/platform-tools/adb'
    alias sdkmanager='$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager'
    EOF
    
    source ~/.zshrc

    Linux (bash 配置)

    # 编辑 ~/.bashrc
    cat << 'EOF' >> ~/.bashrc
    
    # Eclipse Temurin JDK
    export JAVA_HOME=/usr/lib/jvm/temurin-21-jdk
    # 或手动安装路径:export JAVA_HOME=/opt/temurin-21-jdk
    
    # Android SDK
    export ANDROID_HOME=$HOME/android-sdk
    export ANDROID_SDK_ROOT=$ANDROID_HOME
    
    # PATH 配置
    export PATH=$JAVA_HOME/bin:$PATH
    export PATH=$ANDROID_HOME/platform-tools:$PATH
    export PATH=$ANDROID_HOME/cmdline-tools/latest/bin:$PATH
    export PATH=$ANDROID_HOME/emulator:$PATH
    export PATH=$ANDROID_HOME/build-tools/35.0.0:$PATH
    EOF
    
    source ~/.bashrc

    验证安装

    完整验证清单

    # 1. 验证 Eclipse Temurin
    java -version
    javac -version
    echo $JAVA_HOME
    
    # 2. 验证 Android Studio(启动 IDE 检查)
    
    # 3. 验证 SDK Build Tools
    adb version
    aapt2 version
    sdkmanager --version
    
    # 4. 验证环境变量
    echo $ANDROID_HOME
    which adb
    which java
    
    # 5. 创建测试项目
    # Android Studio > File > New > New Project > Empty Views Activity
    # 确保 Gradle 同步成功,无 JDK 相关错误

    预期输出示例(Temurin 25)

    $ java -version
    openjdk version "25" 2025-09-16
    OpenJDK Runtime Environment Temurin-25+13 (build 25+13)
    OpenJDK 64-Bit Server VM Temurin-25+13 (build 25+13, mixed mode)
    
    $ adb version
    Android Debug Bridge version 1.0.41
    Version 35.0.1-11580240
    
    $ sdkmanager --version
    11076708

    预期输出示例(Temurin 21 LTS)

    $ java -version
    openjdk version "21.0.2" 2024-01-16 LTS
    OpenJDK Runtime Environment Temurin-21.0.2+13 (build 21.0.2+13-LTS)
    OpenJDK 64-Bit Server VM Temurin-21.0.2+13 (build 21.0.2+13-LTS, mixed mode)
    
    $ adb version
    Android Debug Bridge version 1.0.41
    Version 35.0.1-11580240

    IDE 配置与优化

    Android Studio 使用 Eclipse Temurin 的最佳实践

    1. 配置 Gradle 使用指定 JDK

    在项目 gradle.properties 中添加:

    # 使用 Eclipse Temurin 作为 Gradle JDK(根据实际版本调整路径)
    # Temurin 25
    org.gradle.java.home=C:\\Program Files\\Eclipse Adoptium\\jdk-25.0.0.0-hotspot
    # 或 Temurin 21
    # org.gradle.java.home=C:\\Program Files\\Eclipse Adoptium\\jdk-21.0.2.13-hotspot

    2. 配置 IDE 内存参数

    编辑 Help > Edit Custom VM Options

    # 根据系统内存调整
    -Xms1024m
    -Xmx8192m
    -XX:ReservedCodeCacheSize=512m
    -XX:+UseG1GC
    -XX:SoftRefLRUPolicyMSPerMB=50

    3. 配置项目使用 Temurin

    在项目 build.gradle.kts (Kotlin DSL) 中:

    android {
        compileOptions {
            sourceCompatibility = JavaVersion.VERSION_21  // 或 VERSION_25
            targetCompatibility = JavaVersion.VERSION_21  // 或 VERSION_25
        }
        
        kotlinOptions {
            jvmTarget = "21"  // 或 "25"
        }
    }

    或在 build.gradle (Groovy DSL):

    android {
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_21  // 或 VERSION_25
            targetCompatibility JavaVersion.VERSION_21  // 或 VERSION_25
        }
    }

    常见问题解决

    问题 1:Android Studio 无法识别 Eclipse Temurin

    现象:设置中 JDK 列表不显示 Temurin,或提示 “Invalid JDK”

    解决

    # 1. 确认安装完整
    java -version  # 必须正常输出
    
    # 2. 手动添加 JDK 路径
    # Android Studio > Settings > Build Tools > Gradle > Gradle JDK > Add JDK
    
    # 3. Windows 检查注册表(MSI 安装应自动注册)
    # 如使用 Zip 安装,需手动添加注册表项或选择文件夹方式添加

    问题 2:Gradle 同步失败,提示 Java 版本不匹配

    现象Could not open init generic class cache for build file 或 Java 版本错误

    解决

    # 1. 清理 Gradle 缓存
    ./gradlew cleanBuildCache  # Linux/macOS
    gradlew.bat cleanBuildCache # Windows
    
    # 2. 删除 .gradle 目录
    rm -rf ~/.gradle/caches/
    
    # 3. 重新同步项目
    # Android Studio > File > Sync Project with Gradle Files

    问题 3:多 JDK 版本冲突

    现象:系统安装了多个 JDK,Android Studio 使用了错误版本

    解决

    # 查看当前使用的 Java 版本
    java -version
    which java
    
    # 调整 PATH 顺序,确保 Temurin 在前
    export PATH=$JAVA_HOME/bin:$PATH
    
    # 或在 Android Studio 中明确指定
    # Settings > Build Tools > Gradle > Gradle JDK

    问题 4:Eclipse Temurin 下载缓慢

    解决

    • Windows 用户:使用 123 云盘下载 Temurin 25 版本(快速稳定)
    • 其他系统:使用国内镜像(清华大学、阿里云)
    • 或使用 SDKMAN 安装:
    # 安装 SDKMAN
    curl -s "https://get.sdkman.io" | bash
    
    # 安装 Temurin
    sdk install java 21.0.2-tem
    sdk use java 21.0.2-tem

    问题 5:123 云盘只有 Windows 25 版本,其他系统怎么办?

    解决

    • macOS:使用 Homebrew 或官方 PKG 安装器
    • Linux:使用 APT/YUM 包管理器或手动解压安装
    • Windows 需要 LTS 版本:从官方渠道下载 Temurin 21 LTS

    版本对照与升级建议

    Android Studio 版本推荐 Temurin 版本最低 Temurin 版本说明
    Iguana (2023.2.1)+25 / 21 LTS17 LTS支持 Java 21+ 特性
    Hedgehog (2023.1.1)21 LTS17 LTS稳定版本
    Giraffe (2022.3.1)21 LTS17 LTS需要 JDK 17+
    旧版本 (< 2022)17 LTS11 LTS建议升级 IDE

    下载渠道对照

    渠道可用版本适用系统特点
    123 云盘25Windows x64国内高速下载,VIP 会员分享
    官方 Adoptium8, 11, 17, 21, 25全平台官方源,版本最全
    清华大学镜像全版本全平台国内镜像,同步官方
    Homebrew (macOS)17, 21macOS命令行快速安装
    APT/YUM (Linux)17, 21Linux系统集成,自动更新
  • 世界,您好!

    欢迎使用 WordPress。这是您的第一篇文章。编辑或删除它,然后开始写作吧!