我有一个将数据上传到测试服务器和生产服务器的 Android 库。我希望使用此库的开发人员在开发时使用测试服务器,并在从 Android Market 下载应用程序时使用生产服务器。
这是否可能让应用程序知道它来自哪里(市场或非市场?)我想人们可以检测到签名 JAR 文件的存在。
最佳答案
是的,您可以为此使用签名。如果您在开发期间使用调试 key 对您的应用程序进行签名,并在将您的应用程序上传到市场时使用发布 key ,您可以检查应用程序的签名并基于该使用测试或生产服务器。 下面是一段读取应用签名的小代码:
try {
PackageManager manager = context.getPackageManager();
PackageInfo appInfo = manager.getPackageInfo(
YOUR_PACKAGE_NAME, PackageManager.GET_SIGNATURES);
// Now test if the first signature equals your debug key.
boolean shouldUseTestServer =
appInfo.signatures[0].toCharsString().equals(YOUR_DEBUG_KEY);
} catch (NameNotFoundException e) {
// Expected exception that occurs if the package is not present.
}
YOUR_PACKAGE_NAME 必须类似于“com.wsl.CardioTrainer”。它必须是您在 AndroidManifest.xml 中使用的包名称。 祝你好运
标记
关于android - 检测应用程序是否从 Android Market 下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/986627/