0

So I have built an app using Phonegap build servers. But, it doesn't produce an APK that the google play store will deem tablet ready. I've successfully decomipled the app and recompiled it, but seems as if no matter what additional information I put in the Manifest it doesn't effect the devices my app can be downloaded on. Below is the manifest.

<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="13425" android:versionName="2.1"     android:windowSoftInputMode="adjustPan" android:installLocation="internalOnly" package="com.QSPV78GLVZ.eQuest2"
 xmlns:android="http://schemas.android.com/apk/res/android">
 <supports-screens android:anyDensity="true" android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:resizeable="true" android:xlargeScreens="true" />
 <uses-sdk android:minSdkVersion="7"
android:targetSdkVersion="17"  />
<compatible-screens>
<!--no small size screens -->

<!--all normal size screens -->
<screen android:screenSize="normal" android:screenDensity="ldpi" />
<screen android:screenSize="normal" android:screenDensity="mdpi" />
<screen android:screenSize="normal" android:screenDensity="hdpi" />
<screen android:screenSize="normal" android:screenDensity="xhdpi" />

<!-- all large size screens -->
<screen android:screenSize="large" android:screenDensity="ldpi" />
<screen android:screenSize="large" android:screenDensity="mdpi" />
<screen android:screenSize="large" android:screenDensity="hdpi" />
<screen android:screenSize="large" android:screenDensity="xhdpi" />

<!-- all xlarge size screens -->
<screen android:screenSize="xlarge" android:screenDensity="ldpi" />
<screen android:screenSize="xlarge" android:screenDensity="mdpi" />
<screen android:screenSize="xlarge" android:screenDensity="hdpi" />
<screen android:screenSize="xlarge" android:screenDensity="xhdpi" />

<!-- Special case for Nexus 7 -->
<screen android:screenSize="large" android:screenDensity="213" />
</compatible-screens>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application android:label="@string/app_name" android:icon="@drawable/icon" android:debuggable="true" android:hardwareAccelerated="true">
<activity android:label="@string/app_name" android:name=".eQuest" android:screenOrientation="unspecified" android:configChanges="keyboardHidden|orientation">
  <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>
<activity android:label="@string/app_name" android:name="com.phonegap.DroidGap">
  <intent-filter />
</activity>
</application>
</manifest>

Thanks for taking the time to read my post.

Sumurai8
  • 18,213
  • 9
  • 58
  • 88

1 Answers1

1

I bet you have permissions issues. Here are the things to try to modify, and see if the tablets show up as options. If a tablet does not have a particular hardware feature, then it will not show up if you have a permission for it in the list (without modification). For example, if the Nexus 7 doesn't have a microphone, then the "record_audio" permission will block it from being available on the store, until a line like this is added....

so basically you need to review each permission, and determine what hardware is needed for these permissions to work, and add line like the above to let the manifest know that it is not required (required="false")

use this list @ http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions

and go to the area called "Permissions that Imply Feature Requirements"

We will assume all tablets that we will support will have at least one camera, and

we will therefore not need to add

this will exclude all devices lacking a camera from finding the app

we need to add these lines for location functions, as we want the user to use them if present, but not require it.

The record audio requires this line

also, here is the relevant thread I found

How to make android Phonegap available for tablets?

Community
  • 1
  • 1