.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 包签名 的相关文章

  • 如何快速自动发送FCM或APNS消息?

    我正在开发一项后端服务 通过 FCM 或 APNS 向移动应用程序发送推送通知 我想创建一个可以在一分钟内运行的自动化测试 并验证服务器是否可以成功发送通知 请注意 我不一定需要检查通知是否已送达 只需检查 FCM 或 APNS 是否已成功
  • StrictMode 策略违规:我的应用程序中存在 android.os.strictmode.LeakedClosableViolation?

    Android 开发新手 第一次在我的应用程序上尝试 StrictMode 我注意到以下内容 并想知道这是否是我的应用程序或库中的问题 我不太清楚 谢谢你 D StrictMode StrictMode policy violation a
  • 如何重试已消耗的 Observable?

    我正在尝试重新执行失败的已定义可观察对象 一起使用 Retrofit2 和 RxJava2 我想在单击按钮时重试特定请求及其订阅和行为 那可能吗 service excecuteLoginService url tokenModel Ret
  • Android - 从资产中解析巨大(超大)JSON 文件的最佳方法

    我正在尝试从资产文件夹中解析一些巨大的 JSON 文件 我如何加载并添加到 RecyclerView 我想知道解析这种大文件 大约 6MB 的最佳方法是什么 以及您是否知道可以帮助我处理此文件的良好 API 我建议您使用GSON lib h
  • 如何在android中获取Camera2 API的当前曝光

    In android hardware Camera旧的 我使用下面的代码获取当前曝光并获取它Camera Camera Parameters param mCamera getParameters currentExposure para
  • 当文本输入聚焦在 React Native for Android 的底部工作表上时,视图移出屏幕

    我正在使用图书馆 https github com osdnk react native reanimated bottom sheet https github com osdnk react native reanimated bott
  • CollapsingToolBarLayout - 状态栏稀松布颜色不改变

    几天前我更新了我的 android studio 并开始使用 CoordinatorLayout 和 CollapsingToolbarLayout 只是尝试一些东西 工具栏稀松布颜色似乎覆盖了状态栏初始颜色和状态栏稀松布颜色 从 xml
  • 带有 EditText 和 Spinner 的对话框

    我有一个按钮 单击后会弹出一个对话框 我希望对话框有一个EditText and a Spinner对话框内 我不知道如何设置它的视图 我有一个代码AlertDialog它有效 只是EditText and Spinner我需要将其放入其中
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • 发布android后更改应用内购买项目的价格

    在 Google Play 上发布后 是否可以更改应用内购买商品的价格 我假设该应用程序也已发布 完整的在线文档位于http developer android com http developer android com也http sup
  • 在gradle插件中获取应用程序变体的包名称

    我正在构建一个 gradle 插件 为每个应用程序变体添加一个新任务 此新任务需要应用程序变体的包名称 这是我当前的代码 它停止使用最新版本的 android gradle 插件 private String getPackageName
  • 原色(有时)变得透明

    我正在使用最新的 SDK 版本 API 21 和支持库 21 0 2 进行开发 并且在尝试实施新的材料设计指南时遇到了麻烦 材料设计说我需要有我的primary color and my accent color并将它们应用到我的应用程序上
  • Ubuntu 16.04 - Genymotion:找不到 /dev/hw_random

    I install Genymotion on the Ubuntu 16 04 64Bit I created a virtual emulator for Android 6 0 then I run this emulator but
  • 尝试在 ubuntu 中编译 android 内核时出错

    我正在尝试从源代码编译 Android 内核 并且我已经下载了所有正确的软件包来执行此操作 但由于某种原因我收到此错误 arm linux androideabi gcc error unrecognized command line op
  • 在 android DatePickerDialog 中将语言设置为法语

    有什么办法可以让日期显示在DatePickerDialog用法语 我已经搜索过这个但没有找到结果 这是我的代码 Calendar c Calendar getInstance picker new DatePickerDialog Paym
  • Android Studio 0.4.3 Eclipse项目没有gradle

    在此版本之前 在 Android Studio 中按原样打开 Eclipse 项目似乎很容易 无需任何转换 我更喜欢 Android Studio 环境 但我正在开发一个使用 eclipse 作为主要 IDE 的项目 我不想只为这个项目下载
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 一次显示两条Toast消息?

    我希望在一个位置显示一条 Toast 消息 并在另一位置同时显示另一条 Toast 消息 多个 Toast 消息似乎总是按顺序排队和显示 是否可以同时显示两条消息 是否有一种解决方法至少可以提供这种外观并且不涉及扰乱活动布局 Edit 看来
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef
  • android sdk 的位置尚未在 Windows 操作系统的首选项中设置

    在 Eclipse 上 我转到 windows gt Android SDK 和 AVD Manager 然后弹出此消息 Android sdk 的位置尚未在首选项中设置 进入首选项 在侧边栏找到 Android 然后会出现一个 SDK 位

随机推荐

  • 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 已使用正确的签名密钥进行签名 然后重试 你