I recently uploaded an application to google play store. My application requires 4.0 and up. I decided that my application would be more suited to allow users with version 2.2 and up to download my app. In the android manifest
I changed <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="16" /> to <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" />.
I released an update for my app but the android required still only allows api 14 and up. Any ideas what I should do?
Android Manifest:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="<packagename>"
android:versionCode="3"
android:versionName="1.2">
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:debuggable="false"
android:label="#string/app_name"
android:icon="#drawable/ic_launcher"
android:theme="#style/AppTheme">
<activity
android:name=".main"
android:label="#string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
This change might not be instantaneous, wait a few hours until it gets updated on Play servers. Then you should be able to download to compatible phones with Android SDK 8 and above.
The problem was with Android studio. To resolve the issue I had to change the min SDK version in the build.gradle file
Related
I have made an app which is pre-installed on android device of particular manufacturer. After this I have release an upgrade of application for example initial version 1.0.0.0 to upgrade version of 1.2.0.0. After upgrading the app if user restarts its phone then my application goes to the initial version of 1.0.0.0.
Don't know why this is happening ? Is there a problem in bundling the application to devices ?
Note: I am updating my app via my server and not from play store and this issue is reproducible only when app is pre-installed on devices.
In mainfest file of both the versions I forgot to change android:versionCode value, in both the versions android:versionCode=3. Is it creating problem because of this?
I have also changed the package name of Application class so is this is creating the problem ?
Manifest for first version:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxx.apps.spinr"
android:versionCode="1"
android:versionName="1.0.0.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="11" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
android:icon="#drawable/app_icon"
android:label="#string/app_name"
android:theme="#style/SpinrTheme"
android:name="com.abc.xyz.GDApplication">
<activity
android:name=".SplashActivity"
android:label="#string/title_activity_splash" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Mainfest for second version:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxx.apps.spinr"
android:versionCode="1"
android:versionName="1.2.0.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="11" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
android:icon="#drawable/app_icon"
android:label="#string/app_name"
android:theme="#style/SpinrTheme"
android:name="com.xxx.apps.GDApplication">
<activity
android:name=".SplashActivity"
android:label="#string/title_activity_splash" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Thanks for the suggestion. As #Mahmoud in comment suggested that "google play never release update for the app with the same version code", so I incremented version code of app and it worked fine. #Rat-a-tat-a-tat Ratatouille as I said in question I am not updating my app via google play neither my app is on play store so I was not able to figure this out initially. Anyways thanks for help.
So conclusion is
whenever you want to send upgrade of app always increase version code
of the app
I have a "little" app on market, and uploaded a new version of it, but when I upload the apk this message appears:
This setting can not be published for the following reasons:
The version 2 is not available on any device configuration: every device that can receive version 2 receives version 3.
and the state of the 3rd version is "draft in final phase"
How can i fix it?
I put the Manifest if can be helpfull
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.shudy.lightson"
android:versionCode="3"
android:versionName="1.1.1" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:debuggable="false"
android:allowBackup="true"
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#style/AppTheme" >
<activity
android:name="com.shudy.lightson.MainActivity"
android:label="#string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize">
<meta-data android:value="aXXXXXXXXXXX2" android:name="ADMOB_PUBLISHER_ID" />
</activity>
</application>
</manifest>
It's all good. This is how Google Play works. It's just saying that the new version will work for all the devices that are support by older versions. So the old version is obsolete and should be deactivated.
Deactivate the old version and all will be fine.
When Im starting my AVD emulator from within Android studio the list of devices in the emuator shows that some of my devices are not compatible with the current project.
It doesn´t show what is not compatible. Is there any way to get to know that?
My first guess was conflicting API versions. But that seems not to be the case sice several AVD:s have the same api settings and some are compatible and others not.
This is my manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#style/AppTheme" >
<activity
android:name="com.example.MainActivity"
android:label="#string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name=".SetLocation"
android:label="SetLocation"/>
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
</manifest>
And a screenshot of the list:
maybe if your applications are written for lover API version that device that you will use for testing. Can you run the application in emulator?
I've been for the past 2 hours trying everything to install an apk in my android phone but I couldn't find a solution...
I've implemented an ArcGIS app with Sherlock Action Bars. My project as a minimum SDK Version 7, and my phone is a Android 2.3.3 (SDK Version 10). The phone is an Acer Z110 Duo.
My manifest is:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.AEP41.main"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="17"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<application
android:allowBackup="true"
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#style/Theme.Sherlock" >
<activity
android:name="com.AEP41.main.AEP41Activity"
android:label="#string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".FieldDetails"
android:description="#string/title_activity_field_details"
android:screenOrientation="portrait" >
</activity>
</application>
</manifest>
There is something that I'm missing? Is there any settings that I need to change in my phone to install it?
Thanks in advance ;)
David Wasser is right - app must be signed. "Unknown sources" is for apps from other markets then Google Play. So export signed APK or build project and find signed APK in bin folder of project.
To allow app installs from non-Market apps, tap the menu button on your home screen, then choose Settings >> Applications >> Unknown sources.
I've written app for Android 2.2 (target version) and I tried to run it on device with Android 4.0.3 but it fails with granting permission for internet connection. It run without problems on Android 2.3. Is there any way to run that app on A4.0 without changing target SDK version?
My AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="pl.niemier.allegro"
android:versionCode="1"
android:versionName="1.0" android:installLocation="auto">
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="10"/>
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:icon="#drawable/ic_launcher"
android:label="#string/app_name" android:debuggable="true">
<activity
android:name=".MainActivity"
android:label="#string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ShowAuctionActivity"></activity>
<activity android:name=".SearchFormActivity"></activity>
<activity android:name=".UserInfoActivity"></activity>
<activity android:name=".ConfigPanelActivity"></activity>
</application>
</manifest>
Try adding the SDK target version in you manifest file:
<uses-sdk android:minSdkVersion="8" />
Please check if the version number is correct.
I assume you have added <uses-permission android:name="android.permission.INTERNET" /> since it works on Android 2.3.