如何理解为什么" Android应用与某些特定设备不兼容"

时间:2017-02-15 11:55:26

标签: android google-play incompatibility

某些设备无法看到Google Play中的应用,无论其Android版本如何。有没有办法了解为什么我的应用程序通过Android Studio或Google Android Developer Console与品牌X 设备不兼容?

E.g;

  • 华为P9 Android 6.0 确定

  • 华为P9 Lite Android 6.0 失败

  • LG G5 - Android 7.0 确定
  • Android ONE - Android 7.1.1 失败

我检查了之前输入的问题/答案,并了解原因可能是以下之一;

  1. android:required =" false" should be used for several uses-features
  2. Could be related to application size.
  3. 我真正想要的是了解它与特定设备不兼容的原因。不过,我会尝试这些建议并分享结果。

    我的清单文件如下;

    - (void)reachabilityDidChange:(NSNotification *)notification {
        Reachability *reachability = (Reachability *)[notification object];
    
        if ([reachability isReachable]) {
            NSLog(@"Host is reachable");
        } else {
            NSLog(@"Host is unreachable");
    
            // Cancel all pending RestKit requests
            [[RKObjectManager sharedManager].operationQueue cancelAllOperations];
        }
    }
    

2 个答案:

答案 0 :(得分:3)

有没有办法了解为什么我的应用程序通过Android Studio或Google Android开发者控制台与Brand X设备不兼容?

是的, 云测试实验室 ,是一种可以测试应用程序兼容性的方法。

  

在物理设备上免费自动测试您的应用   几乎每个品牌,型号和用户可能的设备版本   有。该实验室可帮助您快速找到您的兼容性问题   可能会错过仅使用您可用的测试设备。

使用Android Studio中的Cloud Test Lab:

将以下内容添加到studio.vmoptions文件中:

  

-Denable.google.cloud.testing.plugin =真

现在,您应该能够在Android Studio的“运行/调试配置”对话框中看到Cloud Test Lab的其他选项。

Cloud Test Lab in Android Studio's Run/Debug configurations dialog

“云设备矩阵”下,您可以通过点击以下图标提供不同的“矩阵配置”:并创建其他配置。

单击“应用”并关闭窗口。

现在,您可以通过单击Android Studio中的“运行配置”图标来运行测试。

从命令行使用Cloud Test Lab

首先,安装gCloud SDk 添加Alpha组件以允许从Alpha存储库访问Cloud Test Lab

  

$ gcloud components update alpha

现在为codelab配置项目。如果您正在使用自己的项目,请使用正确的项目ID替换:

  

$ gcloud config set project cloud-test-lab-babbq-2015

确保您的身份验证凭据是最新的

  

$ gcloud auth login

要在不同设备上运行测试,请先运行此命令查看可用设备列表:

  

$ gcloud alpha test android devices list

例如:

对Nexus6和Nexus7虚拟设备进行测试,在纵向和横向方向上运行英语和法语语言环境中的API 19和21。 GCloud提供了测试结果页面的URL,每个测试完成后都会显示结果。

  

$ gcloud alpha test android run \
    - 类型仪表\
      --app app / build / outputs / apk / app-debug-unaligned.apk \

     

- 测试app / build / outputs / apk / app-debug-androidTest-unaligned.apk \

     

- 设备ID ids Nexus6,Nexus7 \\   --os-version-ids 19,21 \   --locales en,fr \
  --orientations portrait,landscape

Guide For Using Google Cloud Test Lab

Google Play Developer Console with cloud Test Lab Feature

查看以下链接了解更多详情 https://firebase.google.com/docs/test-lab/

希望这会有所帮助!!!快乐编码!!

修改: 要查看Firebase项目中给定应用的所有测试矩阵的汇总测试结果,请点击该应用的名称,如下面显示的示例测试矩阵结果页中所示。

示例测试执行结果页面

[5

示例测试矩阵列表页面

[6

仅包含四个测试执行的测试矩阵结果页面的示例

[7

<强> 注意: 运行测试后,90天内可以获得详细的测试结果,并存储在Google云端存储(GCS)存储桶中(但在Firebase控制台中也可以看到)。单击“测试执行结果”页面上的“查看源文件”时,可以在GCS存储桶中查看详细的测试结果。当详细的测试结果不再可用时,您仍然可以看到哪些测试通过并失败。

注意: 图像来源取自官方文档。

答案 1 :(得分:1)

在清单中使用<uses-feature android:name="android.hardware.usb.host" />会导致Google Play不允许在没有USB主机功能的设备上安装该应用。
如果您仍希望该应用可用于此类设备,则应为此功能添加"android:required="false" 请注意,您仍然无法在没有此类功能的设备上使用USB主机功能。尝试使用它们会导致异常。在使用之前,您应该检查该功能是否可用。