12

我是移动应用程序开发人员,也从事原生和 Phone Gap 方面的工作。

我在 Phonegap 中构建了一个应用程序,它可以在设备中完美运行,但不能在某些选项卡中运行。

我根据Google Play 商店政策在这里找到的。但是为什么他们没有显示由于某些此类无效代码或由于某些特定错误而 Google 不允许您在某些特定设备上运行的原因。

查询 1:我有三星 Galaxy 选项卡 2 和选项卡 3。根据不受支持的设备可用性列表,我的应用程序无法在两个平板电脑上运行,当用户从平板电脑搜索时,他们也无法在 Play 商店中找到应用程序。

在我的应用程序中,我为所有设备和平板电脑设置了所有要求,如下所示,

 <?xml version="1.0" encoding="utf-8" ?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="my_pkg" android:hardwareAccelerated="true" android:versionCode="6" android:versionName="1.5" android:windowSoftInputMode="adjustPan">

    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />

    <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="18" />

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.BROADCAST_STICKY" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.VIBRATE" />


    <application android:debuggable="false" android:hardwareAccelerated="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name">
        <receiver android:name="my_pkg.AlarmReceiver">
        </receiver>
        <receiver android:name="my_pkg.AlarmRestoreOnBoot">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

        <activity android:name="my_pkg.MainActivity" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustPan">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

所以,我被困在这里我的应用程序有什么问题,为什么谷歌商店不允许在某些设备和平板电脑上安装我的应用程序。

一周前,不受支持的设备和平板电脑总数为 1550,现在为 1153。

查询 2:我如何找到导致我无法在平板电脑中运行我的应用程序的错误以及如何解决?

请帮助我如何解决这个问题,因为不知道我该如何解决它的原因。

4

4 回答 4

13

最后在 RnD 上花了很长时间后,我找到了解决方案。实际上,我不是这个答案的独立创始人。我真的很感谢所有帮助我解决这个问题的人。

Divesh Salian 的回答非常接近。我按照他的指示进行了尝试,并且我更改了config.xml包含一些不必要 <features></features>标签的文件。

我在三星开发者表单中提出了我的问题,还尝试在 RTL 中测试我的应用程序,但我无法在网络浏览器中登录,不知道为什么?

最后我应用了其他一些关于<uses-feature></uses-feature>

 <uses-feature
        android:name="android.hardware.telephony"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.microphone"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera.autofocus"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera.front"
        android:required="false" />
    <uses-feature
        android:name="android.software.input_methods"
        android:required="false" />

我使用了上述功能,但不会基于此过滤应用程序,因此我设置android:required="false"了一些特定功能。

如果您发现此类问题,请注意以下事项

我希望这些链接肯定能解决您的问题。

再次感谢大家!!!

于 2013-11-15T06:38:40.267 回答
2

尝试在清单文件中添加它,以前它对我有用

<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
于 2013-11-14T13:38:17.743 回答
1

好吧,为了破译问题,创建一个三星开发者帐户并提交您的应用程序。他们的工程师将在不同的设备(手机和平板电脑)上测试应用程序,并为您提供详细报告和视频,说明他们在测试应用程序时遇到的任何问题。

我相信它会解决你的问题。

于 2013-11-14T11:22:44.077 回答
0

尝试通过 Android 模拟器在应用程序上运行,并检查日志 cat 是否有错误。

其次,如果应用程序是使用 HTML5 和 Javascript 构建的,请尝试验证 html 标签并检查您的 javascript 函数。

确保您对某些特定字段具有空值。在您的 javascript 函数中添加控制台消息以验证应用程序需要的所有值。

例子:

function TestMe() {

var a1 = document.getElementById("textboxname").value;

console.log(a1); //this line is to show that you don't have a null value.

}

</script>
于 2013-11-14T11:05:05.453 回答