安卓签名问题

2024-04-10

我正在尝试通过以下方式签署 apkthis http://www.anddev.org/advanced-tutorials-f21/signing-your-apk-application-for-release-keytool-jarsigner-t3069.html guide.

  1. 我在C:\Users\Family\workspace\ 中创建了一个keytools 文件夹,并在新创建的keytools 文件夹中创建了一个keys 文件夹。所以现在我有 C:\Users\Family\workspace\keytools 和 C:\Users\Family\workspace\keytools\keys 文件夹。

  2. 我将 debug.keystore 复制到密钥文件夹中,并将 keytool.exe 和 jli.dll 复制到 keytools 文件夹中。

  3. 我运行 cmd.exe 并导航到 C:\Users\Family\workspace\keytools 并运行keytool -genkey -alias anddev.keystore -keyalg RSA -validity 20000 -keystore keys/anddev.keystore

  4. anddev.keystore 文件在密钥文件夹中创建。

  5. 我将要签名的 apk 复制到 keytools 文件夹中。我还将 jarsigner.exe 复制到 keytools 文件夹中。

  6. In cmd.exe I am at C:\Users\Family\workspace\keytools and trying to run: jarsigner -verbose -keystore C:\Users\Family\workspace\keytools\keys\anddev.keystore -signedjar sampleapp_signed.apk sampleapp.apk anddev.keystore. It gives me this error: enter image description here I also tried to run:

    jarsigner -verbose -keystore C:\Users\Family\workspace\keytools\keys\anddev.keystore -signedjar Sampleapp_signed.apk Sampleapp.apk C:\Users\Family\workspace\keytools\keys\anddev.keystore

我也尝试过运行:

jarsigner -verbose -keystore C:\Users\Family\workspace\keytools\keys\anddev.keystore -signedjar C:\Users\Family\workspace\keytools\sampleapp_signed.apk C:\Users\Family\workspace\keytools\sampleapp.apk C:\Users\Family\workspace\keytools\keys\anddev.keystore

当我导航到 c:\program files\java\jdk1.6.0_23\bin 并运行该代码时,它会要求输入密钥库密码,当我写入密钥库通行证(123456)时,它会给我一个错误:

jarsigner:找不到以下证书链:c:\users\family\workspace\keytools\keys\anddev.keystore。 c:\users\family\workspace\keytools\keys\anddev.keystore 必须引用包含私钥和相应密钥证书链的有效密钥库密钥条目。

当我编写 anddev.keystore pass (=asdfgh,keytool 在进程结束时要求的第二个pass)时,我收到此错误:jarsigner 错误:java.lang.RuntimeException:密钥库加载:密钥库被篡改,或密码不正确。(但是,我很确定这是正确的错误,因为通行证不是这个,而是 123456)。

我很确定我已经接近了,证书链错误就是问题所在。正确的?我错过了一个步骤还是什么?

另一件事:在命令行中,当 keytool 要求输入任何密码时,光标没有移动。我写了密码,但没有看到任何数字或星星,也没有看到光标移动。然后它要求重新输入密码,同样的情况发生。我想这没问题,而且是命令行的一个功能,我写这个只是为了确定一下。

Edit: Based on the help of Hades and Saasha, it was extremely easy to sign the apk. For anyone interested here are my steps: For this i created a MyKeys folder into C:\Users\Family\workspace. After the process the sample.keystore and the samplesigned.apk appeared in that folder.enter image description here


Hallo

如果您使用 Eclipse 您可以尝试:

使用 Eclipse ADT 编译并签名

如果您使用带有 ADT 插件的 Eclipse,则可以使用导出向导导出已签名的 .apk(甚至可以根据需要创建新的密钥库)。导出向导为您执行与 Keytool 和 Jarsigner 的所有交互,这允许您使用 GUI 对包进行签名,而不是执行上面讨论的手动过程来编译、签名和对齐。一旦向导编译并签署了您的包,它还将使用 zipalign 执行包对齐。由于导出向导同时使用 Keytool 和 Jarsigner,因此您应该确保它们可以在您的计算机上访问,如上面签名的基本设置中所述。

要在 Eclipse 中创建签名并对齐的 .apk:

  1. 在 Package Explorer 中选择项目,然后选择“文件”>“导出”。
  2. 打开 Android 文件夹,选择导出 Android 应用程序,然后单击下一步。导出 Android 应用程序向导现在启动,它将指导您完成应用程序签名的过程,包括选择用于签署 .apk 的私钥(或创建新的密钥库和私钥)的步骤。
  3. 完成导出向导,您的应用程序将被编译、签名、对齐并准备好分发。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安卓签名问题 的相关文章

  • WifiConfiguration 在 Lollipop 中启用网络

    我正在研究 Wifi 项目 有一个模块可以让用户以编程方式加入 wifi 在 kitkat 及以下版本中它可以成功工作 但在 Lollipop 中它不起作用 这是代码 WifiManager wifiManager WifiManager
  • 当应用程序停止使用 Sencha Touch 2.2 和 Phonegap 时,LocalStorage 存储不会保留在 Android 手机上

    这在我的浏览器中工作正常 但是当我在手机上安装该应用程序并使用它时 它看起来很好 直到我强制它停止并重新打开该应用程序 然后我的所有记录都消失了 我正在使用 2 2 和 Phonegap 任何帮助将非常感激 这是我的商店 Ext defin
  • 如何以编程方式从 mipmap 文件夹加载图像? [复制]

    这个问题在这里已经有答案了 如何从 加载图像mipmap以编程方式保存文件夹 与可绘制对象一样 img setImageResource imageId 我使用的是Android Studio 1 2 1 In 安卓工作室我们有mipmap
  • 以编程方式启用/禁用广播接收器

    我们有一个可以扫描蓝牙设备的应用程序 负责扫描的代码应仅在启用蓝牙时运行 此外 我们希望随时禁用 启用此功能 我们选择实现一个注册BluetoothAdapter ACTION STATE CHANGED广播的BroadcastReceiv
  • API 31 上是否有官方方法来提供文件关联,可能使用 pathSuffix/pathAdvancedPattern?

    背景 现代桌面操作系统上的一个众所周知的功能是能够处理文件 允许用户从文件管理器和其他应用程序中打开它们 作为 文件关联 配置 问题 到目前为止 对于用户和开发人员来说 在 Android 上设置文件类型关联并不是一件很方便的事情 在 An
  • 可以混淆/加密 SharedPreferences 文件吗?

    因此 我对混淆应用程序的 SharedPreferences xml 文件很感兴趣 就像 Android LVL 混淆其许可证 cahce 数据一样 这是可以想象的吗 大量的谷歌挖掘几乎没有产生任何可能解决我的问题的结果 我当然不是密码学家
  • 在 doInBackground 方法中启动活动

    在下面的代码中 我从互联网下载 json 并希望显示在列表中 如果列表为空 则转到另一个活动 但其他活动未启动 没有错误 但没有启动活动 感谢您的帮助 package ir mohammadi android nightly import
  • 如何在android中的应用程序小部件中找到哪个按钮被点击?

    我想设计一个简单的应用程序小部件 它有两个文本视图和两个用于上一个 下一个的按钮 我很难处理应用程序小部件中的按钮单击 实际上我的愿望是 如果用户单击上一个按钮 我想显示以前的值 如果用户单击下一个按钮 我想显示数据库中的下一个值 如何知道
  • ScrollView 只能承载一个直接子级,但它只有一个

    每当我开始活动时 我都会收到此错误 这是完整的堆栈跟踪 Process com example PID 28799 java lang RuntimeException Unable to start activity ComponentI
  • EditText 不显示当前输入(Android 4)

    我的 Android 应用程序包含一个EditText http developer android com reference android widget EditText html查看可以在其中键入一些短消息 单行 按键盘的DONE键
  • 为什么设置 MediaRecorder 时显示错误 IllegalStateException?

    我的代码设置 MediaRecorder 它显示行集质量错误 mMediaRecorder new MediaRecorder Step 1 Unlock and set camera to MediaRecorder mCamera st
  • 上次更新arm64-v8a后,模拟器在M1 Mac上显示离线

    昨天模拟器运行得很好 系统镜像为arm64 v8a 我不太记得工作系统映像的版本名称 但是昨天我接受了 ARM 64 系统映像的更新 版本名称是 S 我可以从 AVD 管理器启动模拟器 当我按 运行应用程序 按钮时模拟器也会启动 但是 该应
  • 当创建 Android Jetpack Compose AndroidView 的参数发生变化时,如何替换它?

    我有一个应用程序 显示封装在其中的几个不同视图AndroidView 在下面重现的简单示例中 这些只是TextView实例 问题是更改文本 在本例中循环显示三个不同的值 似乎不会更新应用程序显示的内容 sealed class AppVie
  • 日志记录在 Android 设备上实际上有什么作用?

    我一直在 Android 示例中看到这样的代码 try catch Exception e Log e Error e getMessage 什么是Log e实际上在物理设备上做什么 它进入系统日志 开发人员可以通过 SDK 工具访问该日志
  • 从 Activity 调用选项卡式片段方法

    我有一项活动由三个片段组成 这些片段使用使用 PagerAdapter 的操作栏选项卡 我想要做的是从主活动访问活动选项卡式片段中的方法 我已经尝试了下面的代码 但这只是将片段返回为空 所以我猜它无法在选项卡中找到它 NPListFragm
  • Activity 上的 OnTouchListener 从不调用

    我使用了这段代码 但是当我在运行时单击活动时 它永远不会在 OnTouch 方法中命中 有人可以指导我我做错了什么吗 我需要设置此活动的内容视图吗 实际上我想要用户在执行过程中触摸的活动的坐标 public class TouchTestA
  • 动画结束后更改视图位置

    我开发了一个基于ViewGroup我的问题是我需要在动画结束后保存项目的位置 我打了电话setFillAfter true 在我创建的动画对象中AnimationListener并在其中onAnimationEnd方法调用View layo
  • RecyclerView 适配器的 Kotlin 泛型

    我正在尝试编写一个通用的 recyclerview 适配器 我找到了几个例子 然而 仍然无法弄清楚如何实现通用适配器 我写的代码是 open abstract class BaseAdapter
  • 如何为背景图像添加内边距

    我有一个LinearLayout其中有一个背景图像 一个 9 修补的 png 文件 如何向左和右添加填充 以使背景图像不占据整个宽度 我努力了android paddingLeft and android paddingRight 但这并没
  • Android进程调度

    我试图更好地理解 以便在创建 Android 应用程序 服务时确定潜在的互操作性问题对可靠性的影响 我想弄清楚进程优先级是如何确定的 服务和活动之间优先级的差异以及调度程序是否以不同方式对待它们的优先级 基本上 我试图深入了解某个活动或服务

随机推荐

  • 查找通过代理连接的客户端的IP地址

    有没有办法收集通过代理服务器连接到您网站的客户端的 IP 地址 整个设置是一个内部 LAN 通过系统管理员 我也可以控制代理计算机 我在网站服务器端使用 PHP5 I tried SERVER REMOTE ADDR 在 PHP 中 但此变
  • 处理 Mongoose 中的架构更改

    随着应用程序的发展 更新 迁移 Mongoose 模式的最佳实践 或工具 是什么 有趣的是 MongoDB 的诞生就是为了解决 RDBMS 中的模式问题 您不必迁移任何内容 您所要做的就是在架构定义中设置默认值 如果该字段是必需的 new
  • 如何管理 MySQL Workbench 中的 SQL 选项卡?

    我经常需要的每个项目都有多个 SQL 查询 我的问题是 我的所有项目都需要 Workbench 中相同的 MySQL 连接 所以我一直打开大量的 SQL 选项卡 如下所示 由于选项卡的数量超过了显示器的宽度 因此我必须左右滚动才能找到一些查
  • 无法使用 String#trim 作为 Array#map 的回调

    由于某种原因我无法使用String prototype trim call作为数组方法的回调 例如map or filter 在这种情况下 两个函数的工作原理相同 function trim string return string tri
  • 在 MySQL WorkBench 中打开现有数据库

    I got a DB files that created in My SQL and I want open them in My SQL WorkBench 6 1 The files I got contains FRM MYD MY
  • 查找数组中的最小值和最大值

    所以我试图找到用户输入的数组的最小值和最大值 这是我的代码 public static void main String args int a new int args length for int i 0 i lt args length
  • 匹配两个数据集中的 ID

    我有两组数据 包括前数据和后数据 受访者拥有唯一的 ID 我想创建一个子集 其中仅包含对两项调查做出回应的受访者 数据集示例 pre data lt data frame ID c 1 10 Y sample c yes no 10 rep
  • 有什么好的 CMS 可以与现有的 Java 网站集成(需要良好的 API)[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们有一个大型现有网站 用 Java Spring Hibernate JSP 编写 并希望添加一个内容
  • 提交表单时不要包含空参数

    我的控制器上的索引方法如下所示 public ActionResult Index string search string sort int groupId 对于搜索功能 我有以下形式 using Html BeginForm div H
  • jni 和在 java 中使用 c++ new'ed 对象

    我有一个与数据库对话的 C 层 这个 C 层执行一个新的 SomeObject 并将其返回给 java 我什么时候可以安全地通过 clean jni 调用删除 SomeObject 我可以在java返回对象后立即删除还是需要复制该对象然后删
  • Elm 中的数组与列表

    我很惊讶地得知Array and ListElm 中有两种不同的类型 Array http package elm lang org packages elm lang core 4 0 1 Array List http package
  • Android 位图图像大小

    我正在从网络下载图像 并使用图库小部件来显示图像 如果下载的图像很大 我的应用程序会崩溃并显示以下日志 E GraphicsJNI 3378 VM won t let us allocate 5591040 bytes 仅当图像大小达到会使
  • 在 C# 中创建 datagridview 表单

    我是 C 和 Windows 窗体应用程序的新手 现在 我想在表单中创建一个 Datagridview 我想用业务对象的属性填充其行 我按照此 msdn 页面中的示例进行操作 如何 将对象绑定到 Windows 窗体 DataGridVie
  • PHP 在冒号之前的单词上分割字符串

    我有一个看起来像这样的字符串 aaaaa lorem ipsum bb dolor sit amet ccc no pro movet 将字符串拆分为数组并在 PHP 中获得以下结果的最佳方法是什么 array 0 aaaaa lorem
  • 使用 telegram 的 TL 模式语言处理“标志”类型

    我编写了一个 tl 解析器 因此现在可以使用最新的层 53 但我不确定如何处理 标志 类型 它们仅在 tl 文档中提到 但在页面底部没有定义 据我所知 link https core telegram org mtproto TL form
  • 使用 tkinter 在 jupyter 笔记本内部进行 nltk 绘制

    我正在尝试绘制图表 inline of nltk代替jupyter notebook 但出现错误 TclError no display name and no DISPLAY environment variable 我尝试过设置 DIS
  • 删除 CSS 中的正文边距

    我是网络开发新手 在删除正文边距时遇到了问题 There s space between the very top of the browser and logo text And my code is here on jsbin http
  • 如何将逗号分隔值提取到各个行

    这是我的数据框 其中作者列中的值是逗号分隔的字符串 authors book Jim Charles The Greatest Book in the World Jim An OK book Charlotte A book about
  • 将 int(32 位)转换为 char(8 位)

    我有这些定义 int data uartBaseAddress UART DATA REGISTER 4 data coming from UART RX port char message 20 array of 20 chars 现在当
  • 安卓签名问题

    我正在尝试通过以下方式签署 apkthis http www anddev org advanced tutorials f21 signing your apk application for release keytool jarsig