【问题标题】:Only change permissions in an apk and republish on playstore仅更改 apk 中的权限并在 Playstore 上重新发布
【发布时间】:2018-12-21 12:16:35
【问题描述】:

最近,Google 要求我从我的 Android 应用中删除一项权限 (SEND_SMS) 并重新发布。问题是我从某家公司获得了这个预构建的应用程序,现在他们要求额外的金额仅更改此权限。在最初购买时,我也告诉他们不要包括但他们保留了它。现在我想通过删除 SEND_SMS 的权限来编辑 android 清单,重建并签署应用程序并发布。请注意,我没有项目的源代码,但我相信我的工作仅限于 android 清单。甚至可能吗?如果是,如何?

谢谢, 阿卜杜勒·瓦希德

【问题讨论】:

  • 简单的答案是否定的
  • 如果您没有源代码,很可能您没有修改/反汇编或修改代码的合法权利。
  • 在无法访问源代码的情况下,您是否至少可以访问他们签署 APK 的密钥库(他们是否愿意至少将其发送给您)?这是你需要的最低限度,如果你有,我可能会帮助你。没有它,什么都做不了。
  • @Pierre Dear,是的,我拥有所有东西(密钥库文件、密码等),因为我是应用程序的所有者。您可以在 Playstore 中搜索“Deshwali”应用程序。所以..有什么提示吗?
  • 作为可见性的*解决方案响应。

标签: android apk decode apktool


【解决方案1】:

即使您设法操纵清单,您仍然无法签署.apk。您将需要密钥库文件对其进行签名以进行发布。

【讨论】:

  • 亲爱的,抱歉延迟回复。是的,我有密钥库文件和所有密码等,因为我拥有该应用程序。要修改的应用是“Deshwali”(你可以在playstore上搜索它。)我相信它可以自己完成,因为它不是反向工程,而只是一个配置更改。甚至我已经在 android studio 中看到了这个 menifesto 文件(以正确的文本格式并找到了 google 反对的 SEND_SMS 权限。所以有什么想法可以做到吗?谢谢,Abdul Wahid
【解决方案2】:

如果你还有keystore,那么你可以使用apktool反编译APK,修改manifest增加versionCode并去掉那个权限,然后重新编译(仍然使用apktool)。最后,使用您拥有的密钥库使用 apksigner 重新签署 APK,并将修改后的 APK 发布到 Play Console。

【讨论】:

  • 感谢 Pierre,我怀疑在反编译后,menifest 文件是否会出现在正确的 xml 文本中。感谢您的回答。让我试试你提到的步骤,让每个人都知道。再次感谢。
  • 它可能不会以 XML 的形式出现,而是以文本文件中的属性列表的形式出现(除非自上次尝试以来发生了某些变化)。由于是纯文本,您应该能够轻松识别需要更改的属性,然后您可以保存修改后的文件并重新编译 APK。
  • 谢谢皮埃尔。有效。我能够重建应用程序。并且都实现了。当我将apk上传到google play store时,它再次要求将目标sdk版本更新为26。我也在menifesto中这样做了,我的通知系统停止工作。无论如何,我已经通过删除短信权限将新的 apk 上传到播放商店,这样就解决了我的主要问题。谢谢。
  • 没问题。考虑接受我的答案作为解决方案,然后让其他人轻松找到它。关于您的通知问题,我认为代码可能需要更改以适应新的 SDK 行为。
  • 如何签署重建的应用程序? @皮埃尔