如何通过命令行对 apk 进行签名

2024-01-15

请注意,我们已经在 Android SDK 的帮助下通过命令行创建了 apk 文件。现在,由于将其上传到 Google Play 商店,需要对 apk 进行签名。我们该怎么做呢。


  1. 首先,您需要一个密钥库来开始该过程。您将使用此密钥库对您的 apk 进行签名,并且需要使用相同的密钥库进行签名以供将来更新。在这里了解有关密钥库的更多信息:https://developer.android.com/studio/publish/app-signing#generate-key https://developer.android.com/studio/publish/app-signing#generate-key

  2. 生成密钥库后,您应该jarsigner实用程序(可在 JDK 文件夹中找到)

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore your-release-key.keystore android-release-unsigned.apk alias -storepass password
  1. 下一步是使用zipalign工具(在 android SDK 文件夹中提供)来验证 apk。
path-to-android-sdk/build-tools/version/zipalign -v 4 android-release-unsigned.apk android-prod-released-signed.apk
  1. 最后一步是验证apksigner工具(在android SDK文件夹中可用)
path-to-android-sdk/build-tools/version/apksigner verify android-prod-released-signed.apk

PS:将路径、文件和密码替换为实际值

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过命令行对 apk 进行签名 的相关文章

  • 将roottools.jar导入Android Studio

    我正在尝试从这里导入 roottools https code google com p roottools https code google com p roottools jar 文件 到 Android Studio 项目 到目前为
  • RecyclerView 未显示列表中的所有项目

    我在用RecyclerView在我的应用程序中 每次我打开屏幕时 我只能看到一项 但当我调试时 它每次都会出现onBindViewHolder method 这是我的适配器 Override public ViewHolder onCrea
  • “此版本中使用了已弃用的 Gradle 功能,使其与 Gradle 7.0 不兼容。” -反应-原生

    当我尝试运行反应本机应用程序时 我遇到此错误react native run android 我无法安装该应用程序 我正在尝试构建一个相机应用程序 我当前的react native版本 0 62 0 React cli版本 2 0 1 De
  • IntentService、Service 或 AsyncTask

    实现这一点的最佳方法是什么 我有一个 Android 应用程序 它将使用我的 python 服务器来允许两部手机之间进行轮流通信 回合意味着他们在一轮开始之前不能互相交谈 一旦他们发送一条消息 他们就不能发送另一条消息 直到对方做出回应 然
  • Android/Java 创建辅助类来创建图表

    Goal 创建用于图形生成的辅助类 背景 我有 3 个片段 每个片段收集一些传感器数据 加速度计 陀螺仪 旋转 并使用 GraphView 绘制图表 以下是其中一个片段的代码 该代码当前工作正常 public class Gyroscope
  • Android Studio:Android 设备监视器未显示我的设备

    我的真实设备是索尼 Xperia c6502安卓版本4 3 我确定我将其连接到我的计算机然后打开开发者选项 USB调试 on 在 SDK 管理器中 Google USB 驱动程序已安装 I downloaded Xperia Z Drive
  • 调试 Java InterruptedException,即查找原因

    在调试Android应用程序时 有时中断异常发生并使应用程序崩溃 我已经能够在默认异常处理程序上设置断点 但调用堆栈不提供信息 at java util concurrent locks AbstractQueuedSynchronizer
  • Android 导航回到 Activity;不要重新加载父级

    我有一个场景 我单击 ListFragment 并启动一个新的 Activity 如下所示 public void onListItemClick ListView l View v int position long id super o
  • 如何找到特定路线上两点之间的距离?

    我正在为我的大学开发一个 Android 应用程序 可以帮助学生跟踪大学巴士的当前位置 并为他们提供巴士到达他们的预计时间 截至目前 我获取了公交车的当前位置 通过公交车上的设备 和学生的位置 我陷入了必须找到两个 GPS 坐标之间的距离的
  • AOSP 中 android.Build.SERIAL 何时何地生成?

    我知道android Build SERIAL是在第一次设备启动时生成的 但我无法准确定位位置和时间 我正在建造AOSP Jelly Bean Android平板电脑 nosdcard 第二个问题 这个是序列号吗 really对所有人来说都
  • 返回主要活动(意图)时传递数据我做错了什么?

    我是安卓新手 这可能是最简单的问题 但我不明白这里出了什么问题 我试图创建一个通过意图传递值的基本示例 因此 当我关闭第二个活动时 我需要将数据传递到主活动 这是代码 意图测试1 主要活动 public void onClick View
  • 如何在虚拟机 VirtualBox 上运行 Android-x86 4.2 iso?

    我想用Android x86测试和调试我的应用程序 我之前成功尝试过其他版本的Android x86 但是关于android x86 4 2有一个错误 所以我在这里问我的问题 因为它可能会发生在其他人身上 我安装了oracle VM vir
  • 以编程方式应用样式资源

    我没有找到一种以编程方式做到这一点的方法 所以我在这里发布这个问题 我也没有找到与此相关的任何问题 我有一个资源样式 在 res values styles xml 中定义 我想做的是使用 java 将这种样式应用到我正在操作的 View
  • InAppMessage 一旦显示就会自动消失

    您好 我最近将 InAppMessaging 添加到我的项目中 这似乎很容易集成 但对我来说并没有按预期工作 首先 我将其添加到 build gradle 中 implementation com google firebase fireb
  • 确定视图是否在屏幕上 - Android

    我对这个有点困惑 首先也是最重要的是 以下链接很有用 但是我提出了一些可见性问题 链接 检查视图可见性 https stackoverflow com questions 4628800 android how to check if a
  • 在 Android ADT Eclipse 插件中滚动布局编辑器

    有谁知道当布局编辑器的内容溢出一个 屏幕 时如何滚动这些内容 我说的是在设计时使用 ADT 布局编辑器 而不是在物理设备上运行时滚动 效果很好 关闭 Android 布局编辑器中的剪辑 切换剪辑 按钮位于 Android 布局编辑器的右上角
  • 如何在 Android 中保存 Edittext 中的文本而不丢失文本的粗体、斜体等功能

    我想做的就是从 Edittext 中获取文本 该文本具有粗体和斜体等功能 并将其保存在文本文件中 但是当我读回并显示它时 这些功能丢失了 它们不显示 如何通过将文本保存在文本文件或任何文件中来保持丰富的功能 您可以使用Html toHtml
  • 如何以编程方式创建 CardView

    我正在开发一个 Android 应用程序Java Android Studio 我想在活动中创建CardView以编程方式 我想将以下属性设置为CardView layout width wrap content layout row 0
  • firebase中按范围查询

    我有一个食品价格范围滑块 根据滑块的最小值和最大值 我想显示此范围内的食品 滑块代码 multiSlider setOnThumbValueChangeListener new MultiSlider SimpleChangeListene
  • 我可以通过在 Android Activity 中声明适当的成员“静态”来提高效率吗

    如果一个 Activity 在实践中是单例 我认为我可以通过声明适当的成员 静态 来获得一些效率 且风险为零 是的 The Android 文档说 http developer android com guide topics fundam

随机推荐

  • 使用jQuery突出显示元素,无法获取内部元素

    我正在尝试在我的 Web 应用程序中创建某种突出显示 选择工具 使用 jQuery 该工具可监视您将鼠标悬停在 iFrame 内的元素 选择悬停的元素 并使用该元素的样式在叠加时创建div 想想网络检查器中的元素选择工具 这是一个选择所有可
  • 使用 org.apache.commons.exec.DefaultExecutor 执行 shell 命令

    我想在java代码中执行这样的命令 gzip c tmp specificPreffix 2013 11 06 txt gt tmp specificPreffix 2013 11 06 txt gz 我的系统是RHEL5 我已经授予了文件
  • drupal sql 多个表的条件子句?

    我对常见问题解答搜索模块进行了以下查询 修改后可在 Drupal 7 中使用 它在两个表中搜索 1 标题2 正文但无法再包含一个 term strip tags drupal substr POST keyword 0 100 query
  • 不使用 zipWith 的斐波那契数

    我一直在尝试实现从 0 到 n 的斐波那契数列列表 而不使用惰性zipwith https hackage haskell org package base 4 14 1 0 docs Prelude html v zipWith方法 到目
  • 如何从 VIM 在新选项卡中打开终端?

    当我使用 4 个文件时 所有文件都在选项卡 VIM 中打开 我想保存更改并编译它 而不必关闭选项卡 即我想在新选项卡中与现有的 4 个选项卡一起打开一个终端 我应该如何在 VIM 中执行此操作 tab ter 打开一个终端在新标签中而不是在
  • 如何在 linq 中对子列表求和?

    我想对列表的子列表上的属性求和 示例 I have public class List1 public List
  • 修改列表删除元素而不造成混乱

    我现在正在尝试解决一个听起来像这样的任务 编写一个函数 modi la lb 它接受输入 2 列表 la 和 lb 其中的元素数量相同 该功能应该modify列出 la 和 lb 比较两个列表中具有相同索引的元素并删除较大的一个 如果元素相
  • 为什么 FLAC Streaming over HTTP 采用 Ogg 封装而不是原生封装?

    当前所有 FLAC 流媒体实现 例如 Edcast 和 Icecast 似乎都在流媒体时使用 Ogg 作为 FLAC 的容器 这是什么原因呢 有什么缺点not使用 Ogg 并改为流式传输 本机 FLAC 流 我已经做了一些通过 HTTP 传
  • 使用 EWS 的 PR_SEARCH_KEY

    我需要提取PR SEARCH KEY对于某些邮件使用EWS 我之前是使用 Outlook API 完成的 但我想在 EWS 中重新编写完整的代码 因为它非常强大 旧代码 private String GetLnksForMailBoxMai
  • 使用 C# 将 excel 转换为 JSON,并将 excel 中的第一行作为键

    我正在寻找从中读取数据excel 2010通过指定工作表名称 然后我想将数据转换为JSON格式 假设我有一个这样的 Excel 工作表 Name Age Country Waugh Timothy 10 UK Freeman Neil 20
  • JavaFX 3-D 条形图与 Java 8

    是否有使用现代 3 D API 的最新 Java 8 的 3 D 条形图示例 我想使用 Java 8 中的 3 D API JavaFX 的早期版本中有一个 3d Bar Chart 演示 但已被删除 您可以自己创建条形图 只需创建一个网格
  • 在 Silverlight 中迭代枚举?

    在 Net 中 可以使用以下方式迭代枚举 System Enum GetNames typeof MyEnum or System Enum GetValues typeof MyEnum 然而 在 Silverlight 3 中 未定义
  • Mobaxterm:如何防止 ssh 会话退出?

    我该如何阻止这个 Session stopped Press
  • SwiftUI 拖放文件

    我正在尝试向我的 SwiftUI Mac 应用程序添加 拖放 手势 功能 我想将文件从我的系统 桌面拖放到我的应用程序中 我发现在常规 Swift 中这是可能的 我现在正在尝试在 SwiftUI 中执行此操作 我找到一个onDrop Swi
  • UITableView didSelectRowAt 不称为 iOS 10,但适用于 9.3.5

    关于这个问题有很多问题 但到目前为止我找到的答案并不适用 在这种情况下 该表在 iOS 9 3 5 中正常工作 但不适用于 iOS 10 或 10 3 1 我已经排除了 没有正确设置委托 代表执行 3 个功能 didSelectRowAt
  • 我应该为所有内容编写单元测试吗?

    我想知道我是否应该为所有内容编写单元测试 有一些类很难编写单元测试 例如 我正在编写一些处理音频的程序 用于从麦克风捕获音频的类和用于向扬声器播放音频的类 我如何为这些类编写单元测试 我无法获得这些类的输出和输入 因此几乎不可能测试它们 我
  • 退出在子子程序中打开的 Word.Application

    我们宣布Word Application对象在Pro1下面的子函数 因为我们需要返回Word Document对象 应保持打开状态 我怎样才能退出父子例程中的Word应用程序 test01 我需要objWord声明于的对象Pro1函数将在没
  • Android SDK 中的虚拟摇杆

    我想在我的 Android 应用程序中制作一个虚拟操纵杆来控制遥控汽车 我怎样才能做到这一点 我可以使用 API 来执行此操作吗 我在网上查看的代码示例似乎不起作用 你可以看一下这个 很简单 有文档等 https github com co
  • 如何在 Visual Studio 2008 或 Visual Studio 2010 中设置 JavaScript 断点

    我正在尝试使用 Visual Studio 2010 调试 JavaScript 代码 但无法设置断点 我怎样才能做到这一点 我只是注意到了一些事情 每次我尝试调用一个函数 无论什么函数 在 JavaScript 中 不知何故jQuery
  • 如何通过命令行对 apk 进行签名

    请注意 我们已经在 Android SDK 的帮助下通过命令行创建了 apk 文件 现在 由于将其上传到 Google Play 商店 需要对 apk 进行签名 我们该怎么做呢 首先 您需要一个密钥库来开始该过程 您将使用此密钥库对您的 a