首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们如何了解APK安装源

我们如何了解APK安装源
EN

Stack Overflow用户
提问于 2014-05-15 18:47:55
回答 3查看 467关注 0票数 0

我知道,Android Play Store不仅仅是一个我们可以部署APK文件的地方,还有相当多的few

现在,我计划将我的APK部署到以下位置:

代码语言:javascript
复制
  1) Amazon AppStore
  2) Opera Mobile Store
  3) Samsung Apps Store
  4) NokiaX.
  5) Android Play Store (Already deployed, also tracking)

现在的问题是,我如何知道我的应用程序的安装来源?

我想看看,应用程序是从Android Play StoreAmazon AppstoreOpera Mobile Store还是Samsung Apps store等安装的……

以下链接可帮助您安装Amazon App:

Android install source

任何帮助都是非常感谢的。

EN

回答 3

Stack Overflow用户

发布于 2014-05-15 18:59:03

没有实现这一点的API。你不知道apk是侧面加载的还是从store安装的。不是100%确定一些商店是否有某种类型的客户端数据库,但并不是所有的商店都有。

票数 0
EN

Stack Overflow用户

发布于 2014-05-23 02:30:18

假设你使用Gradle,你可以为每个商店使用不同的产品风格。您可以为每种风格创建一个资源文件,然后在运行时读取该资源的值以检测您正在运行的是哪种风格。每种风格只需要一个额外的资源XML文件,并在您的build.gradle中定义这些风格。在这些修改之后构建应用程序将导致每个存储有1个APK,除了一个资源值之外,每个存储都是相同APK。

http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Product-flavors

就像这样..。将这些添加到您的build.gradle中:

代码语言:javascript
复制
   android {
       productFlavors {
        amazon {}
        opera {}
        samsung {}
        nokiax {}
        google {}
       }
   }

然后为每个风格的app/src/src/res/values/store.xml添加一个资源文件(例如app/src/nokiax/res/values/store.xml)

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="store_identifier">nokiax</string>
</resources>

现在,当您读取资源"store_identifier“的值时,您可以检测到您正在运行的是哪个版本,从而推断出它是从哪个存储安装的。不过,您可能希望使用整数资源而不是字符串。

有了这些修改,构建应用程序将产生5个APK文件(例如app_nokiax_release.apk,app_google_release.apk ...)并且您可以将它们部署到各自的存储中

票数 0
EN

Stack Overflow用户

发布于 2021-06-29 14:19:31

您可以使用InstallSourceInfo查看API30及以上级别的安装源

代码语言:javascript
复制
    val sourceInfo = applicationContext.packageManager.getInstallSourceInfo(applicationContext.packageName)
    val installSourcePackageName = sourceInfo.initiatingPackageName
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23676067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档