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

推荐订阅源

B
Blog
T
Threatpost
N
News and Events Feed by Topic
C
Cybersecurity and Infrastructure Security Agency CISA
Cyberwarzone
Cyberwarzone
C
CXSECURITY Database RSS Feed - CXSecurity.com
A
Arctic Wolf
C
Cyber Attacks, Cyber Crime and Cyber Security
AI
AI
GbyAI
GbyAI
Recent Announcements
Recent Announcements
Security Latest
Security Latest
Scott Helme
Scott Helme
W
WeLiveSecurity
S
Schneier on Security
人人都是产品经理
人人都是产品经理
Recent Commits to openclaw:main
Recent Commits to openclaw:main
博客园_首页
Forbes - Security
Forbes - Security
Simon Willison's Weblog
Simon Willison's Weblog
S
Security @ Cisco Blogs
The Register - Security
The Register - Security
H
Hacker News: Front Page
V
Visual Studio Blog
P
Privacy & Cybersecurity Law Blog
P
Privacy International News Feed
TaoSecurity Blog
TaoSecurity Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
News | PayPal Newsroom
Hacker News - Newest:
Hacker News - Newest: "LLM"
Google DeepMind News
Google DeepMind News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
C
CERT Recently Published Vulnerability Notes
Y
Y Combinator Blog
D
Docker
I
InfoQ
AWS News Blog
AWS News Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
S
Securelist
L
LINUX DO - 最新话题
阮一峰的网络日志
阮一峰的网络日志
Help Net Security
Help Net Security
G
GRAHAM CLULEY
G
Google Developers Blog
The Last Watchdog
The Last Watchdog
Hugging Face - Blog
Hugging Face - Blog
Blog — PlanetScale
Blog — PlanetScale
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Stack Overflow Blog
Stack Overflow Blog
I
Intezer

博客园 - 冯叶青

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