.NET MAUI 应用程序的 Android 包签名

2023-12-24

我正在尝试将 .NET MAUI 应用程序的捆绑文件上传到 Google Play,但收到以下错误:

您的 Android App Bundle 使用错误的密钥进行签名。确保您的 App Bundle 已使用正确的签名密钥进行签名,然后重试。你的 App Bundle 预计将使用以下证书进行签名 指纹:

然后它会显示它所期望的指纹。我在“应用程序完整性”>“应用程序签名”选项卡下看到 Google PLay 期望的 SHA1 和 SHA256 指纹,这些指纹与我按照以下网址将 .NET MAUI 发布到 Google Play 时创建的指纹不同:https://learn.microsoft.com/en-us/dotnet/maui/android/deployment/overview https://learn.microsoft.com/en-us/dotnet/maui/android/deployment/overview

Google Play 允许我下载证书,即upload_cert and deployment_cert。创建 .NET MAUI 应用程序 Android 包时,如何使用这些单元格中的指纹?


发生这种情况是因为我已经将应用程序的另一个版本上传到 Google Play,但现在签名密钥不匹配。

以下是我解决该问题的方法:

  1. 登录 Google Play 开发者控制台并选择您要上传的应用
  2. 我的应用程序当前处于“封闭测试”状态,因此我从左侧主菜单(位于“发布”部分和“测试”小节下)选择了“封闭测试”
  3. 我已经有一个曲目,因此我选择了“管理曲目”按钮
  4. 进入曲目后,我单击“编辑版本”按钮
  5. 进入“编辑版本”屏幕后,在“应用程序完整性”下方,有一个链接显示“更改应用程序签名密钥”。单击该链接
  6. 这将打开一个警告模式,单击“更改应用程序签名密钥”按钮继续
  7. 这将打开另一个带有 4 个选项的弹出窗口。选择第三个“从 Java 密钥库导出并上传密钥”
  8. 这需要 3 个步骤。首先,单击第一个链接下载名为“PEPK Tool”的实用程序应用程序。我在我的密钥库文件所在的位置下载了这个应用程序。它不必位于同一文件夹中,但可以更轻松地指向它。
  9. Google Play 上的弹出窗口还为您提供了使用长参数运行的命令。下一步是运行它,但这里有两点很重要
  10. 第一个要点是为您的密钥库使用正确的文件名。通用命令建议foo.kestore。将其更改为您的密钥库文件当前的名称。
  11. 下一个重要的点对我来说很棘手,因为我必须记住alias我在生成密钥库文件时使用过。如果您还记得它,只需在要运行的命令中使用它即可。通用命令建议foo。只需使用正确的即可。如果你不记得了alias你使用过,然后运行keytool -list -v -keystore "foo.keystore" -storepass myPassword这将为您提供密钥库中的所有条目,其中包括alias。同样,在此命令中,不要忘记使用密钥库的正确文件名以及您使用的密码。
  12. 如果您正确执行了上一步,您从 Google Play 复制的命令将生成一个名为output.zip。然后您可以在同一屏幕上将其上传到 Google Play。

如果你正确地完成了所有这些,那么你现在应该可以开始了!祝你好运!

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

.NET MAUI 应用程序的 Android 包签名 的相关文章

  • 在 Android 8 (Oreo) 的 Webview 中获取 Resources$NotFoundException

    我正在我的应用程序的 WebView 中加载网站的 URL 该网站获取用户的基本详细信息 我正在活动中加载 WebView 但是 当 Android 8 用户点击网站的下拉菜单时 应用程序会抛出以下错误 请注意 此 WebView 在 An
  • Android - 如何创建可点击的列表视图?

    我想让列表视图中的所有列表项打开到一个新页面 因此每个列表视图项目都打开到一个我可以使用的新黑色页面 我根本不知道如何实现这个 我已经连续搜索了几个小时 但找不到解决方案的答案 如果有人能够展示和 或解释如何执行此操作而不是提供链接 我们将
  • 谷歌地图 API 的替代品 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • Android Studio 3.1.3不显示布局设计预览

    自从我上次在 android studio 中创建一个新项目以来已经有一段时间了 今天当我这样做时 android studio 没有从布局预览中显示任何内容 它是一个空白窗口 并显示 没有可显示的内容 我已经尝试过了 更新了sdks工具
  • 无法解析符号“AuthUI”

    我正在添加 firebase google 和 Gmail 登录 但是当我粘贴代码时 onAuthStateChanged NonNull FirebaseAuth firebaseAuth 方法我收到此错误 无法解析符号 AuthUI 在
  • Google 分析“获取配置文件”不允许我选择我的帐户

    我已经根据最新的 v4 文档完成了一个有效的谷歌分析集成 我们需要去哪里获取配置文件 from 但面临以下问题 我的谷歌分析帐户上的两个不同的应用程序有两个不同的跟踪ID 对于第一个应用程序 我得到了谷歌服务 json我将文件放置在根目录中
  • 安卓写入文件

    经过几周的不编程之后 我决定完成我的应用程序 上次我无法进行文件写入和读取 现在我想做 我也许可以使用数据库 但这似乎容易得多 我已经发现this http narenst wordpress com 2010 01 25 android
  • 动态添加的 RemoteView 上的布局权重

    在我的小部件中 我使用以下内容将项目 R layout widget item 动态添加到我的主小部件布局中定义的 LinearLayout 中 Main widget layout RemoteViews views new Remote
  • 使用 KitKat 存储访问框架后打开 Google Drive 文件内容 URI

    我正在使用 android 4 4 的存储访问框架并打开文件选择器 一切正常 除了从 Google Drive 选择文件时 我只能弄清楚如何将其作为输入流打开 但我想获得一个 java File 对象 返回的内容 uri 如下所示 cont
  • 三星 Galaxy Note 上的布局

    我有一个奇怪的问题 只出现在 Samsung Galaxy Note 上 我有横向和纵向布局 正常和大 如下 http developer android com guide practices screens support html h
  • 为什么 CheckBox 检查不能以编程方式与 Kotlin 一起使用?

    我想这个问题以前可能有人问过 但这个问题也发生在我身上 所以我在这里再次询问 看看我们能否找到解决方案 所以基本上问题是以编程方式检查复选框不与 Kotlin 代码一起工作 为了解释一下 我正在分享我的代码和问题的屏幕截图 filterCo
  • 当我想用它来进行单独的 apk 测试时,出现“android.support.test.espresso 不存在”

    我需要在没有源代码的情况下对 Android 应用程序进行一些自动测试工作 我发现 Robotium 和 espresso 都可以完成这项工作 我决定使用 espresso 因为它有 Google 支持 我想使用相同的签名对目标 apk 和
  • 连续按钮的自定义 arrayadapter 和 onclicklistener

    我有一个自定义数组适配器 我想为每一行中的按钮添加一个 onclicklistener 当我单击按钮时 我希望图像资源发生变化 一切正常 除了当我单击按钮时图像发生变化但另一行中的另一个按钮的图像也会发生变化 感谢您的帮助 这是我的代码 p
  • 如何获取任何已安装 Android 应用程序的清单权限

    是否可以获得任何已安装的 Android 应用程序的清单权限 感谢您的提示 让它运行 final Intent mainIntent new Intent Intent ACTION MAIN null mainIntent addCate
  • ACTION_MEDIA_BUTTON 的广播接收器不起作用

    我正在为 Android 操作系统版本 4 0 3 ICS 编写 Android 应用程序 问题是我没有从 BroadcastReceiver 的 onReceive 方法中的 Log d 获得输出 这意味着我的应用程序没有正确处理广播 我
  • android 以编程方式在单选组按钮之间添加填充

    我有一个 xml 格式的单选组 按钮是通过编程生成的 如何以编程方式添加按钮之间的间距 我以为是这样的LayoutParams但我的对象没有明显的setPadding or setMargins方法 这就是我正在尝试的 RadioButto
  • Android:将“内部”链接添加到 TextView 的一部分,该链接链接到我的代码中的操作

    正如标题所解释的 我想添加链接到我的TextView 有这两个警告 我希望链接能够作用于TextView 不是完整的 类似于AHTML 中的锚点 我希望链接指向我的代码中的操作 而不是网站 我可以在我的活动中定义一个方法 或者实现一个OnC
  • 重叠堆叠图像视图

    我正在尝试将图像视图堆叠在一起 70 重叠 我使用了一个frameLayout 并给每个elemnet填充了10 它有效 但是当涉及到处理事件时 这个填充让我很痛苦 有没有更好的重叠视图的方法 使用不同的布局 等 我正在为 Android
  • React Native - 方向锁定;我还能获得传感器的方向吗?

    我正在开发一个 React Native 应用程序 该应用程序设计为以纵向模式运行 方向通过清单锁定
  • Firebase 令牌未生成

    我得到的令牌未生成 onTokenrefresh 没有调用 谁能帮忙 它已连接到 firebase 但令牌仍然没有生成 public class MyFireBaseInstanceId extends FirebaseInstanceId

随机推荐

  • mysql 外键约束格式不正确错误

    我有两张桌子 table1是带有列的父表ID and table2有一个柱子IDFromTable1 不是真实的名字 当我戴上FK时IDFromTable1 to ID in table1我收到错误Foreign key constrain
  • Neo4j 非托管扩展和 GuardTimeoutException

    我非常需要一些关于我在 Java 中构建的 Neo4j 非托管扩展时遇到的问题的建议 我创建了一个非常简单的代码示例来突出我的问题 基本前提是我想设置 org neo4j server webserver limit executionti
  • 为什么大多数 JavaScript 原生函数都比它们的原始实现慢?

    我注意到了some http jsperf com map native vs implemented tests http jsperf com concat tests blabla原生 JavaScript 函数通常比简单的实现慢得多
  • 观察 SharedPreferences 数据

    我正在尝试观察共享偏好中的数据变化 我找到了这个similar https stackoverflow com questions 50649014 livedata with shared preferences问题回答者 SimplyP
  • 如何将H2Database数据库文件转换为MySQL数据库.sql文件?

    我有一些数据H2数据库 http www h2database com html main html文件 我想将其转换为 MySQL sql数据库文件 我可以遵循哪些方法 根据 Thomas Mueller 的回答 SquirrelSQL
  • Facebook Canvas APP (Iframe) 自动调整高度

    最近遇到了 Facebook canvas iframe 应用程序的问题 我已将设置设置为 自动调整大小 并实现了正确的 FB JS 调用来调整高度大小 以避免出现不需要的滚动条 但它似乎不起作用 还有其他人遇到过这个问题或提出解决方案吗
  • 如何在dart中使用HttpClient发出HTTPS请求?

    我正在使用 dart 中的 HttpClient dart io 包 而不是 dart http 并且我想发送 HTTPS 请求 有没有办法做到这一点 我似乎找不到一种方法可以让我做到这一点 new HttpClient getUrl Ur
  • 如何使用 Firestore 填充参考字段

    您知道如何使用 Firestore 填充文档上的参考字段吗 当您创建 获取文档参考时 您可以将其保存到另一个文档中 此示例适用于 Node SDK 但它应该能让您了解如何在 Android 上实现此示例 创建文档参考 Create the
  • 悬停在重叠的 CSS3 形状上

    好吧 我有一个关于与通过 CSS3 创建的形状进行交互的潜在棘手问题 请参阅以下小提琴 http jsfiddle net MH4LN 1 http jsfiddle net MH4LN 1 代码示例 div class container
  • 是否可以在不调用“node”的情况下运行 Node.js 脚本?

    我喜欢 javascript 所以当我听说时我很兴奋Node js http nodejs org 一个基于 V8 的 Javascript 运行时 我更愿意使用 Javascript 来编写 shell 脚本 我的问题是 如何在不调用的情
  • jquery 选择图像

    我希望允许用户选择预先上传的图像到用户生成的网页 我有一个可用图像的列表 因此我可以使用选择控件轻松地完成此操作 但是 我真的很想允许用户从缩略图弹出窗口中进行选择 而不是文本 然后填充文本带有结果文件名的表单元素 我希望最终结果会像日历弹
  • 在GDB中,如何打印具有特殊字符的符号的内容?

    我在用GDB调试的时候遇到一个小问题 问题是这样的 当我想获取 main 的地址时 我可以这样做 gdb peda p main 1
  • 端子输出安全逃生功能

    我正在寻找相当于网址编码 http docs python org library urllib html urllib quote plus对于终端输出 我需要确保我 可能 从外部源打印的垃圾字符最终不会在我的终端上做一些奇怪的事情 所以
  • DataView 和原型继承

    根据我在网上的了解 在 JavaScript 中扩展对象的一种方法是首先克隆它的原型 然后将该原型设置为子类的原型 但它似乎在这里不起作用 Create constructor function Packet opcode size Dat
  • Scala 中的 Typedef

    如何在 Scala 中定义类型 喜欢 type MySparseVector Int Double 在哈斯克尔或 typedef MySparseVector std list
  • 数据库设计头脑风暴:销售价格

    我需要创建一个数据库解决方案来提供产品折扣 当前表 Products Columns ProductId ProductTypeId ReleaseDate ProductPrices Columns ProductPriceId Prod
  • 对于 2.4MB XML 文件,您会推荐哪个 Ruby XML 库? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个 2 4 MB 的 XML 文件 是从 Microsoft Project 导出的 嘿 我是这
  • Java 泛型:不兼容的类型

    我有一个通用类MyClass
  • MEF 与任何 IoC

    查看 Microsoft 的托管扩展性框架 MEF 和各种 IoC 容器 例如 Unity 我无法看出何时使用一种解决方案而不是另一种解决方案 更具体地说 MEF 似乎可以处理大多数 IoC 类型模式 并且不需要像 Unity 这样的 Io
  • .NET MAUI 应用程序的 Android 包签名

    我正在尝试将 NET MAUI 应用程序的捆绑文件上传到 Google Play 但收到以下错误 您的 Android App Bundle 使用错误的密钥进行签名 确保您的 App Bundle 已使用正确的签名密钥进行签名 然后重试 你