首页 > 解决方案 > Google 如何识别 Android 项目/开发者

问题描述

我只是想知道 Google 如何识别项目(包名称或代码除外)或 Android 应用程序的开发人员。我认为您的 Android Studio 中有一些数据被插入到 apk 中。你知道如何编辑这些数据吗?

如果您使用较旧的 api 构建,我看到 apk 中有一个文件 build-data.properties。在这个文件中有一些数据,如 build.time、build.build_id 或 build.timestamp。你知道如何从 Android Studio 更改这些数据吗?

谢谢

标签: android

解决方案


谷歌通过三个属性来识别一个项目:

  1. packageName来自 AndroidManifest.xml
  2. 使用证书+RSA 密钥对 APK 文件或 appBunlde 进行签名(使用哪个密钥库和签名密钥通常在 Android Studio 项目的 gradle 配置中表示)。要更改签名,您必须生成一个新的密钥库并配置 gradle 以使用它来签署您的 APK。
  3. 对于在 Google Play 商店中发布的应用程序,用于上传和发布应用程序的 Google 帐户。

如果您将 APK 文件直接加载到设备(通过adb或从某处下载 APK 文件),设备将使用前两个属性来识别应用程序/开发。

APK签名

关于APK 签名,目前有 4 个不同的版本如何对 APK 文件进行签名。一个 APK 可以通过这些签名标准中的一个或多个签名,您甚至可以同时通过所有四个版本对一个 APK 进行签名。

APK 签名 v1 是旧的 Java jarsigner(包含在 APK 目录中的几个文件中/META-INF

APK 签名 v2v3直接对 APK 文件进行签名,并将签名不可见的添加到 APK 文件中 ZIP 规范未涵盖的部分中。

APK 签名 v4是一个分离的签名,因此签名保存在 APK 文件之外的单独文件中,例如名为<apk name>.apk.idsig.


推荐阅读