我有一个Android库,可以将数据上传到测试服务器和生产服务器.我希望使用此库的开发人员在开发时使用测试服务器,并在从Android Market下载应用程序时使用生产服务器.
这可能是一个应用程序告诉它来自哪里(市场或非市场?)我想象一个人可以检测到签名的JAR文件的存在.
max*_*mon 37
是的,您可以使用签名.如果您在开发期间使用调试密钥签署应用程序,并在将应用程序上传到市场时使用发布密钥,则可以检查应用程序签名的签名,并基于该使用测试或生产服务器.这是一个用于阅读应用签名的小代码:
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.
}
Run Code Online (Sandbox Code Playgroud)
YOUR_PACKAGE_NAME必须是'com.wsl.CardioTrainer'.它必须是您在AndroidManifest.xml中使用的包名称.祝好运
标记
Phi*_*hil 10
从API 5开始,您可以使用PackageManager.getInstallerPackageName(String).从文档:
检索安装包的应用程序的包名称.这确定了包裹来自哪个市场.
要获得Android电子市场的套餐,这篇文章可能有所帮助.
| 归档时间: |
|
| 查看次数: |
9305 次 |
| 最近记录: |