Google Play - My app cannot be executed with multi-APK support (can be installed but not executed)

StackOverflow https://stackoverflow.com/questions/12824013

質問

I have a really annoying problem with the Google Play filtering. I have an application which is targeting Android devices and I made another project with another APK for targeting the table devices.

The phone version is out at the market about 1 year ago. When I added the new apk to as well to the application, it worked everything as it should: I had two active APK files, one of them targeting the phones, other one targeting the tablets.

But suddenly I realized that none of the APK's are working. My app is listed in the Play Store, I can even download the it. But once the installation finishes, I have no "Run" or "start" button, I have only an "Uninstall" button. And also even the app was is installed, its not displayed under the other installed applications, nowhere.

From than I tried to revert the things, I created from the old, previous working version a new one and replaced the 2 APK's with this one, which worked previously.

After waiting a couple of hours, phone reboot, Play store cache clear I have the same issue even with the reverted APK.

Here is my Android-manifest file (which worked properly but now its not working - Single APK version):

<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="8" android:maxSdkVersion="15">
</uses-sdk>

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

Here is my Android-manifest file for the tablet version (which worked properly but now its not working - Single APK version):

<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="15" android:maxSdkVersion="16">
</uses-sdk>

<compatible-screens>

    <!-- 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>

I know that in the first APK I use supports-screen tag, and in the other one compatible-screens (probably this is the reason) but I still don't know how to fix it.

The workflows already tried are:

  • Single APK, with the manifest using the support-screens tags only. Not working
  • Single APK, with the android manifest using compatibile-screens tags only. Not working
  • Mixed of the combinations above. Not working

Now I just really wan't to get back the older situation, without tablet support, etc.

Please help! :) Because I made a self uninstaller situation with this...

役に立ちましたか?

解決

The problem was solved and it has nothing to do with the multi-apk support of the Google Play Store.

The problems was in my manifest file. The main activity was configured in an innapropiate was like this:

<activity
    android:name=".GUI.ActivityWelcomeScreen" 
    android:label="@string/app_name"
    android:configChanges="keyboard|keyboardHidden|orientation">
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
</activity>

As we can see there was no intent-filter tag specified. After modifying my manifest like below:

<activity
    android:name=".GUI.ActivityWelcomeScreen" 
    android:label="@string/app_name"
    android:configChanges="keyboard|keyboardHidden|orientation">
    <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
 </activity>

everything worked properly.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top