当前位置: 首页 > 知识库问答 >
问题:

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

宓和同
2023-03-14

我在Google Play中的应用在一些设备上不可见,无论它们的Android版本如何。有什么方法可以通过Android Studio或Google Android开发人员控制台了解为什么我的应用程序与Brand X设备不兼容?

例如;

> < li>

华为P9Android6.0可以

华为P9精简版Android6.0失败

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

  1. android:required=“false”应用于多种用途功能
  2. 可能与应用程序大小有关

我真正想知道的是,为什么它不能与特定的设备兼容。不过,我会尝试这些建议并分享结果。

我的清单文件如下:

<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="10000" android:versionName="1.0.2" package="com.apps.appname" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:supportsRtl="true">
    <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
        <intent-filter android:label="@string/launcher_name">
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
**<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />**
<uses-feature android:name="android.hardware.usb.host" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-feature android:name="android.hardware.bluetooth_le" android:required="false" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
</manifest>

共有2个答案

姚洲
2023-03-14

越欣怡
2023-03-14

是否有任何方法可以理解为什么我的应用程序无法通过Android Studio或谷歌Android开发者控制台与品牌X设备兼容?

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

在物理设备上免费自动测试您的应用程序,几乎涵盖用户可能拥有的所有品牌、型号和版本的设备。该实验室可帮助您快速发现仅使用可用测试设备可能会遗漏的兼容性问题。

使用Android Studio中的云测试实验室:

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

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

现在,您应该能够在Android Studio的运行/调试配置对话框中看到云测试实验室的附加选项。

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

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

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

从命令行使用云测试实验室

首先,安装gCloud SDk Add Alpha组件以启用从Alpha存储库访问Cloud Test Lab

$gcloud组件更新alpha

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

$gcloud配置集项目cloud-test-lab-babbq-2015

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

$gcloud身份验证登录

要在不同的设备上运行测试,我们首先通过运行以下命令来查看可用设备的列表:

$gcloud alpha test android设备列表

例如:

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

$gCloud alpha测试android运行\
--type的检测\
--app应用程序/构建/输出/apk/app-debug-unaligned.apk\

-test app/build/outputs/apk/app-debug-androidTest-un aligned . apk \

--device-id Nexus6, Nexus7\
--os-version-id 19,21\--locales en, fr\
--方向肖像,景观

使用谷歌云测试实验室的指南

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

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

编辑:要查看Firebase项目中给定应用程序的所有测试矩阵的聚合测试结果,请单击该应用程序的名称,如下面显示的示例测试矩阵结果页面所示。

测试执行结果页面示例

示例测试矩阵列表页

只有四个测试执行的测试矩阵结果页的示例

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

注:图片来源取自官方留档。

 类似资料:
  • 我刚刚发布了我的应用程序为穿戴设备,它的手表脸,没有任何UI为电话应用程序。我上传到了Google Play。但它说这个应用程序与你的设备不兼容。到所有用户或设备。 有人知道吗?

  • 当然,这是我开发应用程序的手机,所以它应该是兼容的。有其他设备的人说它报告兼容,也有人说它报告不兼容,但我找不到趋势。(显然我不认识很多有Android设备的人。) 我尝试了以下方法: > 按照此答案的建议将一个大文件从目录中移出。其中唯一的文件是一个约700kB的文本文件,但我将其移动到中,没有明显的变化。 以下是的输出: 为了完整起见,我的清单文件: 在Play store的“设备可用性”部分

  • 最近我开发了一个android应用程序。在第一阶段创建该项目时,我的第一个设置是针对API级别为21的android。现在我需要在旧版或新版本的Android中使用这个应用程序。但它“不幸地停止了”。我还使用了以下解决方案,但它不起作用:如何为ionic/cordova构建和部署旧版本的android?我打算使用的API级别在17到23之间。对于这个令人沮丧的问题,你有什么建议?非常感谢。事故日志

  • 我开发了一个基于webview的android应用程序,并对其进行了测试--运行良好,上传到了Google Play,当我去看我得到的应用程序时,这个应用程序与你所有的设备都不兼容--我有了wildfire,现在我有了Media Pad 7英寸平板电脑。这是我的清单文件

  • 我正在尝试测试一个应用程序的许可: 将apk作为alpha上载到开发控制台中的google play 添加的测试人员电子邮件 在测试者的链接发布和直播后访问了该链接 问题:显示我的设备与应用程序不兼容! 此外,Google Play没有给我任何关于阻塞问题的提示。如何调试此问题?

  • 我在市场上有一个Android应用程序,支持多个APK。现在它不支持屏幕分辨率为1080x1920、密度为441dp的星系S4;i、 e.该应用程序未在Galaxy S4中显示。原因可能是什么???请帮忙???? 清单中使用的过滤器(适用于支持Galaxy S3(屏幕大小4.8)、分辨率为720x1280的Galaxy Nexus(屏幕大小4.65)):兼容屏幕屏幕android:screenSi