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

推荐订阅源

T
Threatpost
The Hacker News
The Hacker News
AWS News Blog
AWS News Blog
Spread Privacy
Spread Privacy
T
Tenable Blog
C
CERT Recently Published Vulnerability Notes
Cisco Talos Blog
Cisco Talos Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Securelist
P
Privacy & Cybersecurity Law Blog
Know Your Adversary
Know Your Adversary
T
The Exploit Database - CXSecurity.com
Latest news
Latest news
D
Darknet – Hacking Tools, Hacker News & Cyber Security
I
Intezer
F
Fortinet All Blogs
Engineering at Meta
Engineering at Meta
Simon Willison's Weblog
Simon Willison's Weblog
The Register - Security
The Register - Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
L
Lohrmann on Cybersecurity
C
Cyber Attacks, Cyber Crime and Cyber Security
Microsoft Azure Blog
Microsoft Azure Blog
P
Proofpoint News Feed
H
Help Net Security
T
Threat Research - Cisco Blogs
D
DataBreaches.Net
S
Schneier on Security
Cyberwarzone
Cyberwarzone
Google DeepMind News
Google DeepMind News
P
Privacy International News Feed
S
Secure Thoughts
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recorded Future
Recorded Future
C
Cybersecurity and Infrastructure Security Agency CISA
MyScale Blog
MyScale Blog
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
IT之家
IT之家
人人都是产品经理
人人都是产品经理
NISL@THU
NISL@THU
博客园 - Franky
T
Tor Project blog
G
GRAHAM CLULEY
博客园 - 【当耐特】
Jina AI
Jina AI
Security Archives - TechRepublic
Security Archives - TechRepublic
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
A
About on SuperTechFans
Hacker News - Newest:
Hacker News - Newest: "LLM"

博客园 - 冯叶青

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