我有一个Android库,可以将数据上传到测试服务器和生产服务器.我希望使用此库的开发人员在开发时使用测试服务器,并在从Android Market下载应用程序时使用生产服务器.
这可能是一个应用程序告诉它来自哪里(市场或非市场?)我想象一个人可以检测到签名的JAR文件的存在.
为了确保我的付费 android 应用程序是从商店合法安装的,我这样写:
String installer = getPackageManager().getInstallerPackageName(
"com.example.myapp");
if (installer == null) {
// app was illegally downloaded from unknown source.
// dear user, please re-install it from market
}
else {
// app was probably installed legally
// (also it's good to check actual installer name)
}
Run Code Online (Sandbox Code Playgroud)
可以吗?从市场上合法购买和安装的应用程序是否有可能获得空的安装程序包名称并无法通过此测试?
我知道用户可以运行adb -i com.fake.installer myapp.apk并通过此检查,但更重要的是合法用户是否会遇到潜在问题。