无法在自定义 AOSP 上安装 Google Play 中的某些应用程序:项目不可用。理由:9

2024-05-19

我在尝试从 Google Play 安装某些应用程序时收到以下错误:

LibraryUtils.isAvailable: not available restriction=9 
DocUtils.getAvailabilityRestrictionResourceId: Item is not available. Reason: 9

我正在 x86 硬件上运行 AOSP 的定制版本(定制的 Android x86 风格)。我做了很多研究,网上已经有很多模糊的尝试/猜测答案,但我专门寻找“原因 9”指的是什么。一旦我有了这个,我希望我能在 AOSP 中想出一个技巧来避免错误,因为当我侧载它们运行良好的相同应用程序时。这是我的爱好,所以我不担心一些可能的意外副作用。


如果您从设备中提取 Play 商店 APK,则可以对其进行反编译。我反编译了APK并简单搜索了你的错误消息。错误信息可以在类中找到com.google.android.finsky.utils.DocUtils

$ grep -lr "Item is not available"
com/google/android/finsky/utils/DocUtils.java

方法如下:

public static int getAvailabilityRestrictionResourceId(Document document) {
    int restriction = document.getAvailabilityRestriction();
    int resourceId = R.string.availability_restriction_generic;
    switch (restriction) {
        case 2:
            resourceId = R.string.availability_restriction_country;
            break;
        case 8:
            resourceId = R.string.availability_restriction_not_in_group;
            break;
        case 9:
            if (document.getDocumentType() != 1) {
                resourceId = R.string.availability_restriction_hardware;
                break;
            }
            resourceId = R.string.availability_restriction_hardware_app;
            break;
        case 10:
            resourceId = R.string.availability_restriction_carrier;
            break;
        case 11:
            resourceId = R.string.availability_restriction_country_or_carrier;
            break;
        case 12:
            resourceId = R.string.availability_restriction_search_level;
            break;
        case 21:
            resourceId = R.string.availability_restriction_for_managed_account;
            break;
        case 22:
            resourceId = R.string.availability_restriction_missing_permission;
            break;
    }
    FinskyLog.d("Item is not available. Reason: " + restriction);
    return resourceId;
}

在您的情况下,响应的限制为 9。这将得到两个字符串之一。如果我们使用反编译APK的资源ApkTool https://ibotpeaches.github.io/Apktool/我们可以看到这两个字符串的值。

<string name="availability_restriction_hardware">"Your device isn't compatible with this item."</string>
<string name="availability_restriction_hardware_app">"Your device isn't compatible with this version."</string>

方法getAvailabilityRestrictionResourceId(Document document)在以下类中调用:

$ grep -lr getAvailabilityRestrictionResourceId | grep -v DocUtils
com/google/android/finsky/activities/AppsPermissionsActivity.java
com/google/android/finsky/billing/lightpurchase/OfferResolutionActivity.java
com/google/android/finsky/detailspage/WarningMessageModule.java
com/google/android/finsky/layout/WarningMessageSection.java

如果您提供有关何时记录此信息的信息,将会很有帮助。


问题仍然很模糊。通过在Google上搜索,有些人通过更改系统属性解决了类似的问题(最常见的是/system/build.prop).

可能不是您希望的答案,但我希望我的研究对您有所帮助。

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

无法在自定义 AOSP 上安装 Google Play 中的某些应用程序:项目不可用。理由:9 的相关文章

随机推荐

  • ElasticBeanstalk Java,Spring 活动配置文件

    我正在尝试通过 AWS ElasticBeanstalk 启动 spring boot jar 一切正常 配置文件为 默认 有谁知道如何为 java ElasticBeanstalk 应用程序 不是 tomcat 设置活动配置文件 spri
  • 看来我对CSRF的理解有误?

    读了很多关于CSRF的文档后 我还是有点困惑 所以我希望有人能向我解释一下 假设我有一个仅适用于经过身份验证的用户的个人资料页面 例如 abc com profile 它显示了我所有的私人信息 如果我登录 然后转到 坏 网站 该网站是否可以
  • AWS S3 GetObject 是否提供随机访问?

    I can 提供 HTTP Range 标头 https docs aws amazon com AmazonS3 latest API API GetObject html API GetObject RequestSyntax到 AWS
  • `SystemTime::now` 是否受夏令时影响?

    在时间 T 我调用SystemTime now duration since UNIX EPOCH 在时间 T 10 当夏令时开始时 我调用相同的调用 我可以预期这两个实例之间会出现任何奇怪的行为吗 SystemTime本身完全独立于时区
  • 我可以在没有 Hadoop 的情况下使用 Spark 作为开发环境吗?

    我对大数据和相关领域的概念非常陌生 如果我犯了一些错误或拼写错误 我很抱歉 我想了解阿帕奇火花 http spark apache org 并使用它仅在我的电脑中 在开发 测试环境中 由于Hadoop包含HDFS Hadoop分布式文件系统
  • 为什么网格项目不居中?

    由于某种原因 两个输入范围使网格中的前两项偏离中心 我假设这是因为它们的影子 DOM 样式 事实真的是这样吗 有谁知道为什么范围使项目 A 和 B 偏离中心 这是一个代码笔 https codepen io tOkyO1 pen QOeKL
  • 使用 mongoose 通过 React 应用程序将图像上传到 mongodb 数据库

    我正在为找到的对象创建一个反应应用程序 我想允许用户上传这些对象的照片 我尝试使用 axios 通过 post 请求将图像发送到猫鼬服务器 但它不起作用 这就是我如何将图像存储在带有预览的 React 组件中 handleImage eve
  • 获取变量的名称作为输入并使用该名称更改变量

    我从脚本用户那里获取变量的名称作为第一个参数 并将该变量的值回显到控制台 bin bash variablename 1 echo The value of variablename is variablename 这太棒了 我无法开始工作
  • 实现悬停信息框

    我有一个日历 当用户将鼠标悬停在单元格上时 会出现一个很大的信息框 其中包含该日期的详细信息 虽然当用户离开时使信息框消失 但我遇到了一些麻烦 我基本上想要它 这样当鼠标光标移出信息框隐藏的日历单元格时 它就会消失 但我遇到了麻烦 因为mo
  • 如何使用 Google Contact API v3 和 OAuth v2 UserCredentials 创建 ContactsService

    我的应用程序使用 Google API Calendar V3 和 OAuth 效果非常好 它会在第一时间征求用户的同意 使用日历服务可以轻松创建 修改和删除日历事件 到目前为止 一切都很好 现在我想请求用户允许添加和修改联系人数据 通过添
  • sklearn 估计器管道的参数无效

    我正在实现 O Reilly 书中的一个示例 Python 机器学习简介 使用 Python 2 7 和 sklearn 0 16 我正在使用的代码 pipe make pipeline TfidfVectorizer LogisticRe
  • AES 加密 Java/plsql

    我需要在Java和plsql DBMS CRYPTO for Oracle 10g 上实现相同的加密 解密应用程序 两种实现都工作正常 但这里的问题是我对相同纯文本的加密得到了不同的输出 下面是用于加密 解密过程的代码 Java 和 PLS
  • Java程序中的数组奇怪的行为[重复]

    这个问题在这里已经有答案了 我遇到了这个 Java 程序及其以意想不到的方式运行 以下程序计算 int 数组中元素对之间的差异 import java util public class SetTest public static void
  • 在Windows上安装Java 11 OpenJDK(系统路径问题)

    Java 11 最近发布了 众所周知 这个版本没有安装文件 当然 要在没有安装程序的情况下安装 Java 我将系统设置 PATH 和 JAVA HOME 设置为解压缩 Java 11 的文件夹的地址 根据对类似问题的已接受回复建议 唯一的事
  • JPEG 中的颜色配置文件检测

    我希望能够检测 JPEG 中是否存在颜色配置文件 需要明确的是 我对实际进行颜色校正或用它们做任何其他事情不感兴趣 我做了一些调查 但找不到任何明确的信息来源 到目前为止我所知道的是 里面有一个颜色配置信息XMP块 XMP 块位于0xFFE
  • 在 mongoid 中通过 '<<' 分配嵌入式项目时触发 after_save 吗?

    我想知道是否有一种方法可以在 Mongoid 映射器中的嵌入对象上触发 after save 回调 Example i Image new file gt file user images lt lt i gt i after save s
  • 将IP保存到数据库中

    当用户登录时 我想将他们的 IP 保存在数据库中 我该怎么做呢 MySQL 字段最适合使用哪种类型 获取IP的PHP代码是什么样的 我正在考虑将其用作登录 会话内容的额外安全功能 我正在考虑使用用户现在拥有的 IP 检查用户从数据库登录的
  • 在 Vim 分割窗口中打开函数定义?

    我知道你可以使用ctrl 在 Vim 中跳转到定义 但是有没有办法让它在分割窗口而不是当前缓冲区中打开 我知道我可以打开一个新的分割窗口 然后使用ctrl 但是有没有更快的方法呢
  • 将 JSON 发布到 Python CGI

    我已经安装了 Apache2 并且 Python 可以工作 但我有一个问题 我有两页 一个是 Python 页面 另一个是带有 JQuery 的 Html 页面 有人可以告诉我如何让我的 ajax 帖子正常工作吗
  • 无法在自定义 AOSP 上安装 Google Play 中的某些应用程序:项目不可用。理由:9

    我在尝试从 Google Play 安装某些应用程序时收到以下错误 LibraryUtils isAvailable not available restriction 9 DocUtils getAvailabilityRestricti