热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Mac平台下的AndroidAPK重签名工具:GitHubMac4Android/AndroidResign

介绍了一款适用于Mac系统的APK重签名脚本——AndroidResign。该脚本通过一系列预设命令,实现了对APK文件的快速重签名操作,简化了开发者在发布或测试阶段对应用签名的需求。

GitHubMac4Android/AndroidResign 是一款专为Mac用户设计的APK重签名工具。它提供了一个简洁的bash脚本,帮助开发者轻松完成APK文件的重签名过程。

使用方法:

  1. 首先,创建一个名为resign.sh的新脚本文件,并将以下代码复制进去。确保所有中文注释已被删除,以避免脚本运行时出现错误。
  2. 给予脚本执行权限:在终端中输入 chmod 777 resign.sh
  3. 切换至包含resign.sh脚本的目录,然后按照如下格式输入命令行参数:
    ./resign.sh [源APK路径] [目标APK路径] [密钥库路径] [密钥库密码] [密钥密码] [密钥别名]

示例命令行参数:

tony$ ./resign.sh /path/to/source.apk /path/to/destination.apk /path/to/keystore.jks my_storepass my_keypass my_alias

脚本内部逻辑解析:

  • 接收并存储用户输入的参数,包括源APK路径、目标APK路径、密钥库路径及其相关密码和密钥别名。
  • 清除源APK中的旧签名信息,通过命令 zip -d [源APK路径] META-INF/* 实现。
  • 利用 jarsigner 工具进行新的签名操作,确保签名过程中使用了指定的密钥库、密码及算法。

完整脚本代码如下:

#!/bin/bash
echo "Setting up for re-signing..."
apk_source=$1
apk_dest=$2
keystore_path=$3
storepass=$4
keypass=$5
alias=$6
echo "Source path: ${apk_source}"
echo "Destination path: ${apk_dest}"
echo "Removing old META-INF..."
zip -d $apk_source META-INF/*
echo "Re-signing process started!"
echo "Executing jarsigner with parameters..."
jarsigner -digestalg SHA1 -sigalg MD5withRSA -tsa http://timestamp.digicert.com -verbose -keystore $keystore_path -storepass $storepass -keypass $keypass -signedjar $apk_dest $apk_source $alias
echo "Re-signing completed successfully!"

推荐阅读
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
  • LCUI 2.1.0 版本现已推出,这是一个用 C 语言编写的图形用户界面开发库,适合创建轻量级的桌面应用程序。此次更新包括多项修复和功能增强,并正式宣布将启动 Android 支持的开发计划。 ... [详细]
  • 本文详细介绍如何在IntelliJ IDEA 14中打包Android应用APK文件,并提供查询SHA1值的具体步骤。 ... [详细]
  • 本文介绍了在Android项目中实现时间轴效果的方法,通过自定义ListView的Item布局和适配器逻辑,实现了动态显示和隐藏时间标签的功能。文中详细描述了布局文件、适配器代码以及时间格式化工具类的具体实现。 ... [详细]
  • 本文记录了Android学习的初期阶段,包括Android的基本架构、Dalvik虚拟机与JVM的区别、ADB工具的使用以及应用程序的打包安装流程。 ... [详细]
  • 如何使用Ionic3框架创建首个混合开发应用
    混合开发是指结合原生(Native)与网页(Web)技术进行移动应用开发的方法。本文将详细介绍如何利用Ionic3这一流行的混合开发框架,从环境搭建到创建并运行首个应用的全过程。 ... [详细]
  • Android开发技巧:实现带描边的圆角图片
    本文介绍了一种在Android应用中实现带描边的圆角图片的方法。通过使用BitmapShader类,开发者可以轻松地为图片添加圆角和描边效果,提升应用的视觉体验。 ... [详细]
  • Android 九宫格布局详解及实现:人人网应用示例
    本文深入探讨了人人网Android应用中独特的九宫格布局设计,解析其背后的GridView实现原理,并提供详细的代码示例。这种布局方式不仅美观大方,而且在现代Android应用中较为少见,值得开发者借鉴。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 解决微信电脑版无法刷朋友圈问题:使用安卓远程投屏方案
    在工作期间想要浏览微信和朋友圈却不太方便?虽然微信电脑版目前不支持直接刷朋友圈,但通过远程投屏技术,可以轻松实现在电脑上操作安卓设备的功能。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 本文介绍了ADB(Android Debug Bridge)的基本概念、安装方法、环境配置、连接真机步骤以及常用命令和高级技巧。ADB是一个强大的工具,适用于Android设备的开发和调试。 ... [详细]
  • 解决Android测试包与正式版APK冲突的方法
    本文介绍了一种有效的方法来避免Android测试包APK覆盖正式版APK的问题,主要通过调整build.gradle文件中的applicationId以及修改APK名称来实现。这种方法特别适用于需要频繁进行小范围功能更新的项目。 ... [详细]
author-avatar
夜夜0603
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有