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

推荐订阅源

S
Security Affairs
S
Secure Thoughts
P
Proofpoint News Feed
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
S
Schneier on Security
V
Vulnerabilities – Threatpost
Security Archives - TechRepublic
Security Archives - TechRepublic
T
The Exploit Database - CXSecurity.com
A
Arctic Wolf
Latest news
Latest news
Hacker News - Newest:
Hacker News - Newest: "LLM"
AI
AI
T
Troy Hunt's Blog
H
Heimdal Security Blog
美团技术团队
Webroot Blog
Webroot Blog
P
Proofpoint News Feed
Hacker News: Ask HN
Hacker News: Ask HN
Google DeepMind News
Google DeepMind News
P
Privacy & Cybersecurity Law Blog
U
Unit 42
Google DeepMind News
Google DeepMind News
V2EX - 技术
V2EX - 技术
G
Google Developers Blog
N
News and Events Feed by Topic
Project Zero
Project Zero
The Register - Security
The Register - Security
N
Netflix TechBlog - Medium
IT之家
IT之家
月光博客
月光博客
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
N
News and Events Feed by Topic
Simon Willison's Weblog
Simon Willison's Weblog
L
Lohrmann on Cybersecurity
Schneier on Security
Schneier on Security
博客园_首页
Help Net Security
Help Net Security
AWS News Blog
AWS News Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
S
Security @ Cisco Blogs
PCI Perspectives
PCI Perspectives
Cisco Talos Blog
Cisco Talos Blog
C
Cybersecurity and Infrastructure Security Agency CISA
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
Docker
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
阮一峰的网络日志
阮一峰的网络日志
Spread Privacy
Spread Privacy
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Hacker News
The Hacker News

博客园 - 冯叶青

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中即可