当前位置: 首页 > news >正文

GooglePlay提审问题记录

1、debug签名问题

原因:

为应用签名  |  Android Studio  |  Android Developers
从 IDE 中运行或调试您的项目时,Android Studio 会自动使用由 Android SDK 工具生成的调试证书为您的应用签名。当您首次在 Android Studio 中运行或调试项目时,IDE 会自动在 $HOME/.android/debug.keystore 中创建调试密钥库和证书,并设置密钥库和密钥密码。

由于调试证书由构建工具创建并且在设计上不安全,因此大多数应用商店(包括 Google Play 商店)都 不接受使用调试证书为要发布的应用签名

签名分为2个,
1、上传签名秘钥:用于确保应用在上传到GooglePlay时,应用的身份是合法的。(若泄漏,他人可能恶意传包到GooglePlay后台(其实还需要开发人员账密))
2、应用签名秘钥:用于确保应用完整性和来源的真实性(如果某个第三方在您不知情或未经授权的情况下设法取得您的应用签名密钥,此人可能会为应用签名并进行分发,从而恶意替换您的原版应用或损坏它们。另外,此人还可能利用您的身份为应用签名并进行分发,从而攻击其他应用或系统本身,或者损坏或窃取用户数据。

解决:

使用自己创建的签名打包后解决。

2、安卓TargetVersion 问题

原因:TargetVersion 需要满足googleplay要求。(会随时间变化增大)

解决:提升TargetVersion。

3、隐私政策问题

原因:

包中一些请求的权限,需要隐私政策链接中说明。

解决:

在googleplay后台左侧 设置/高级设置/应用提供情况/信息中心 中,补充隐私权政策网址

4、上传签名变化

原因:

使用了 非上传签名 的包上传。

本想替换一个上传签名,因为签名秘钥的信息不是正式的,且因为日久,忘记了别名。

解决:暂使用原签名。

使用 jdk 的bin/keytool.exe 可以查看keystore信息 (前提是记得密码)

keytool.exe -list -v -keystore xxxx.keystor

上传签名可以请求重置,但可能较麻烦。

5、应用被拒-提示包含低版本的unity-ads,违反隐私政策

原因:

检查了项目 PackageManager、Services、Plugins/Android 均无集成,仍报此错。

官方说明是Unity 某些版本(我的是Unity2021.3.4f1c1)的bug,提升Unity中国版版本至最新或改用国际版可解决。

网上有人说,使用Unity Pro 去掉Unity splash也可以解决,猜测是 splash 偷偷集成了低版本的unity ads。

解决:

将 Unity LTS小版本提升至最新(Unity2021.3.33f1c1)后解决。

6、后台崩溃问题

应用包在成功传到 内部测试中时,会自动进行测试,大约需要1小时,

在后台左侧 发布前测试报告/概览 中,可以看道一些 崩溃和 ANR

会提示:

发现错误。请先解决错误,然后再发布正式版。

理论上应该先解决这些错误,再发布正式版,

但一些非重复的原生代码崩溃并不一定导致提审被拒。

https://developer.android.com/topic/performance/vitals/crash?hl=zh-cn

解决:

发布前测试报告中的错误堆栈是很底层的,难以分析

考虑利用 火山/Firebase 等打点工具分析用户行为,再处理

7、提审前验证 aab

测试人员在拿到 aab 包时,无法直接安装到手机,需要先转成 apk。

可先使用 bundletool 将 aab 转为 apks

再通过 bundletool 将 apks 安装到真机

具体用法见下方链接

https://github.com/google/bundletool/releases

8、其他应提前准备的问题

包名

CPU架构支持范围:ARM64、ARMv7?x86?

AppVersion 从多少开始

9、当安装一个不是从 Googleplay 商店下载的且已签名(非debug签)的安装包时,Googleplay会提示“不安全”。

解决:打包签名时,只对release包签名,不对 debug包签名。

或者,直接忽略这个提示就可以。

http://www.dtcms.com/a/359047.html

相关文章:

  • 生成式BI工具(WrenAI)
  • 防抖与节流的区别及实现【JS核心】
  • 恶补DSP:3.F28335的ePWM模块
  • 语义分割目前还是研究热点吗?
  • 【CF】Day136——Codeforces Round 1046 (Div. 2) CD (动态规划 | 数学)
  • 血氧检测原理与算法
  • Linux系统直接查询文件或目录绝对路径的方式
  • TensorFlow 深度学习 | 使用底层 API 实现模型训练(附可视化与 MLP)
  • HyperPlonk 的硬件友好性
  • Linux kernel 多核启动
  • LINUX-网络编程-TCP-UDP
  • Python 入门 Swin Transformer-T:原理、作用与代码实践
  • AI + 行业渗透率报告:医疗诊断、工业质检领域已进入规模化落地阶段
  • 通过数据蒸馏打破语音情感识别的资源壁垒
  • 基于单片机音乐喷泉/音乐流水灯/音乐播放器设计
  • 移动零,leetCode热题100,C++实现
  • SpringCloud Alibaba Sentinel 流量治理、熔断限流(四)
  • 【源码】智慧工地系统:智能化施工现场的全新管理方案
  • 第十七章 ESP32S3 SW_PWM 实验
  • 深入解析Nginx常见模块2
  • web渗透之RCE漏洞
  • 针对 “TCP 会话维持与身份验证” 的攻击
  • (二)设计模式(Command)
  • SQL Server 临时表合并与数量汇总的实现方法
  • 大模型不听话?试试提示词微调
  • “可选功能“中找不到 OpenSSH, PowerShell 命令行来安装OpenSSH
  • windows 谷歌浏览器一直提示无法更新Chrome弹窗问题彻底解决
  • Learning Curve|学习曲线
  • 数据库攻略:“CMU 15-445”Project0:C++ Primer(2024 Fall)
  • 【开题答辩全过程】以 “与我同行”中华传统历史数字化平台的设计和分析-------为例,包含答辩的问题和答案