检测应用程序是否是从 Android Market 下载的

2024-03-05

我有一个 Android 库,可以将数据上传到测试服务器和生产服务器。我希望使用此库的开发人员在开发时使用测试服务器,并在从 Android Market 下载应用程序时使用生产服务器。

应用程序是否有可能知道它来自哪里(市场或非市场?)我想人们可以检测到签名的 JAR 文件的存在。


是的,您可以使用签名。如果您在开发过程中使用调试密钥对应用程序进行签名,并在将应用程序上传到市场时使用发布密钥进行签名,则可以检查应用程序签署时使用的签名以及基于该使用测试或生产服务器的签名。 这是一个小代码段,用于读取应用程序的签名:

    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 中使用的包名称。 祝你好运

mark

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测应用程序是否是从 Android Market 下载的 的相关文章

随机推荐

  • 如何从 Java Web 应用程序将用户发推文到他/她的 Twitter 帐户

    你好 我想构建一个 java web 应用程序 我希望用户从我的 java 应用程序在他的帐户上发推文 现在 当我们考虑 twitter4J 时 它显示的代码正在使用我们自己在 twitter 开发门户上注册的应用程序 它不要求客户提供凭据
  • 使用命名导入在 Je​​st 测试中导入“常量”

    我有一个config and constants我的项目中的文件夹 位于src config test ts src constants index js分别 我已经设置了 Jest 来使用moduleNameMapper如下所示 这样我就
  • React 测试库不更新状态

    我的组件 import React from react const TestAsync gt const counter setCounter React useState 0 const delayCount gt setTimeout
  • 多个轴的单个图例[重复]

    这个问题在这里已经有答案了 我有以下示例代码 fig1 suptitle Test ax1 fig1 add subplot 221 ax1 plot x y1 color b label aVal ax2 ax1 twinx ax2 pl
  • Spring Security Kerberos 与基本的链接

    我有一个关于 Spring Security 的快速问题 我正在寻找一种解决方案 将安全性集成到我们的应用程序中 该应用程序提供 SSO 但也提供基本的 HTTP 我们系统的自动化部分之一只能支持基本身份验证 而我们却被困在其中 目前 我们
  • Android udp 多播与以太网

    大家好 我正在开发一个使用 udp 多播的项目 我有一台服务器通过以太网电缆发送多播 udp 数据包 我花了几周的时间阅读有关 android 上多播的所有帖子 但我仍然无法在我的 Asus Transformer Tablet 4 1 上
  • 如何在 Angular 中添加可重用的模式对话框?

    我是 Angular 新手并尝试实施这个解决方案 http adamalbrecht com 2013 12 12 creating a simple modal dialog directive in angular js 进入我的项目
  • 将 xml 响应映射到类?

    我不知道如何将某些 XML 表示为 C 类 有人对如何正确映射此 xml 有任何建议吗 下面是我的尝试
  • MySQL 根据条件求和多个列值

    我有以下架构 两个表 APPS ID bigint USERID Bigint USAGE START TIME datetime 1 12 2013 05 03 04 42 55 2 12 2013 05 12 06 22 45 3 12
  • C# 使用参数从内存加载 .NET 程序集

    我想知道如何从带有参数的字节数组启动 NET 程序集 我不想先将其写入磁盘 谁能给我一个关于如何做到这一点的例子吗 谢谢 这应该可以解决问题 Assembly program Assembly Load ASSEMBLY BYTES str
  • 使用 ActiveRecord 在表上自连接

    我有一个名为的 ActiveRecordName其中包含各种名称Languages class Name lt ActiveRecord Base belongs to language class Language lt ActiveRe
  • 构造函数中的数组设置意味着稍后会失败

    我遇到了一个问题 我的代码在尝试使用列表的 size 函数时出现段错误 根据 stackoverflow 的建议 我构建了一个发生段错误的最小情况 在下面的调用 inventory size 中 这是 include
  • 在 JSP 文件中导入类

    我编写了一些 Java Servlet 代码 现在尝试将其转换为 JSP 我在我正在使用的单独文件中编写了一个类 但我不知道如何让 JSP 文件识别该类 我猜这与进口有关 我给全班同学一个包裹 package mypackagename 名
  • 如何将 NSArray 存储到 plist 或数据库中?

    我有这个应用程序 当我点击某个按钮时 它必须存储信息 事实是 当我点击这个按钮时 我需要在本地存储这些数据 这样我就可以在其他视图中将其加载 并将其显示为数据 我正在考虑一些 plis 或数据库 问题是我无法得到一个想法或一些好的东西 我传
  • 如何在jackson json反序列化中跳过包装对象

    我正在尝试使用 Jackson 反序列化以下字符串 roomName u8ec29p0j7q2m9f broadcastPresenceRoles broadcastPresenceRole moderator participant vi
  • vb.net 2008 文本框最大长度

    vb net 2008 中文本框中最多可以输入多少个字符 假设 Windows 窗体 文本框 MaxLength http msdn microsoft com en us library system windows controls t
  • 使用 apply 和不同的函数参数来计算每个元素

    假设我有一个矩阵 垫子 mat lt matrix 1 5 nrow 10 ncol 3 byrow TRUE 我有某种想要应用的函数 在本例中按列应用 getRMSE lt function true est sqrt mean true
  • Django 多重注释减慢查询速度

    我一直在调试django debug toolbar 如果我在查询中使用多个注释 那么 Django 会花费大量时间来获取查询结果 class Project First models Model project first results
  • 返回其元素(列)全部匹配参考向量的行索引

    使用以下代码 c lt NULL for a in 1 4 b lt seq from a to a 5 c lt rbind c b c lt rbind c c rm a b 结果在这个矩阵中 gt c 1 2 3 4 5 6 b 1
  • 检测应用程序是否是从 Android Market 下载的

    我有一个 Android 库 可以将数据上传到测试服务器和生产服务器 我希望使用此库的开发人员在开发时使用测试服务器 并在从 Android Market 下载应用程序时使用生产服务器 应用程序是否有可能知道它来自哪里 市场或非市场 我想人