惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Know Your Adversary
Know Your Adversary
WordPress大学
WordPress大学
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
阮一峰的网络日志
阮一峰的网络日志
G
Google Developers Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
F
Fortinet All Blogs
博客园 - 聂微东
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
J
Java Code Geeks
Vercel News
Vercel News
N
Netflix TechBlog - Medium
大猫的无限游戏
大猫的无限游戏
MyScale Blog
MyScale Blog
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
酷 壳 – CoolShell
酷 壳 – CoolShell
D
DataBreaches.Net
Hugging Face - Blog
Hugging Face - Blog
M
MIT News - Artificial intelligence
T
The Blog of Author Tim Ferriss
小众软件
小众软件
The GitHub Blog
The GitHub Blog
量子位
V
Visual Studio Blog
博客园_首页
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
C
CERT Recently Published Vulnerability Notes
The Cloudflare Blog
Spread Privacy
Spread Privacy
P
Proofpoint News Feed
T
Threat Research - Cisco Blogs
Simon Willison's Weblog
Simon Willison's Weblog
U
Unit 42
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
NISL@THU
NISL@THU
C
Cisco Blogs
T
Threatpost
Hacker News - Newest:
Hacker News - Newest: "LLM"
S
Secure Thoughts
The Hacker News
The Hacker News
Attack and Defense Labs
Attack and Defense Labs
IT之家
IT之家
Help Net Security
Help Net Security
G
GRAHAM CLULEY
Jina AI
Jina AI

博客园 - 冯叶青

OpenAI vs Anthropic API 对比:响应体、请求体、消息格式与工具调用 GitHub Actions 自动部署流程 Git分支自动合并脚本:基于时间戳的冲突解决方案 Next.js lingui.js 多语言自动提取翻译键 - ats-node React实现短信验证码输入组件 Next.js 中优雅地使用 Lottie 动画 Next.js 路由参数更新最佳实践:从 replaceState 到 nextReplaceState Jenkins构建时SWR模块导入报错解决方案 解决 Jenkins 环境下 Lingui 构建报错 "btoa is not defined" git 提交 实现大图自动压缩功能 React lingui.js 多语言自动提取翻译键 - ast node html2canvas 解决截图空白问题 react 实现前端发版监测 JS根据文件名获取文件类型 JS获取本机IP地址 适用于react、vue菜单格式化工具函数 git 内容提交 实现大图拦截功能 JS实现视频截图 next.js 利用中间件(middleware.ts)实现PC与移动路由无缝切换 JS-SDK 配置,实现微信分享功能
Android生成签名文件及对apk进行签名
冯叶青 · 2024-03-15 · via 博客园 - 冯叶青

1. 生产签名文件

keytool -genkey -v -keystore esg.jks -keyalg RSA -keysize 2048 -validity 10000 -alias esg
  • keytool: 这是Java提供的一个命令行工具,用于管理密钥库和证书。

  • -genkey: 这个选项告诉keytool生成一个新的密钥对。

  • -v: 这个选项使keytool在执行时输出详细信息,例如生成的密钥对的详细信息。

  • -keystore esg.jks: 这个选项指定了要创建或使用的密钥库文件的名称,这里是esg.jks

  • -keyalg RSA: 这个选项指定了生成密钥对时使用的密钥算法,这里是RSA算法。

  • -keysize 2048: 这个选项指定了生成的RSA密钥对的长度,这里是2048位。

  • -validity 10000: 这个选项指定了生成的证书的有效期限,以天为单位,这里是10000天(约合27年)。

  • -alias esg: 这个选项指定了生成的密钥对的别名。在之后的操作中,可以使用这个别名来引用这对密钥。

2. 对apk进行签名

apksigner sign --ks esg.jks --ks-key-alias esg --ks-pass pass:123456 –out app-release-sign.apk app-release.apk
  • apksigner: 这是Android SDK提供的一个命令行工具,用于对APK文件进行签名。

  • sign: 这个命令告诉apksigner对APK文件进行签名操作。

  • --ks esg.jks: 这个选项指定了存储密钥的密钥库文件,即esg.jks

  • --ks-key-alias esg: 这个选项指定了要使用的密钥对的别名,即esg

  • --ks-pass pass:123456: 这个选项指定了密钥库的密码。这里密码为123456pass:告诉工具密码的形式是明文。请注意,这不是最安全的做法,实际中可能会使用更安全的方式来提供密码,比如使用密钥库密码提供者。

  • -out app-release-sign.apk: 这个选项指定了签名后生成的APK文件的输出路径和名称,即app-release-sign.apk

  • app-release.apk: 这是要签名的Android应用程序文件,即输入文件。

备注

apksigner工具一般不能直接使用,也不用下载,安卓开发工具自带

一般在 C:\Users\AILN\AppData\Local\Android\Sdk\build-tools\34.0.0

将这个目录放入到系统变量PATH中即可