I made my android application and tested it on the AVD but when I want to install it on my phone, I get "application not installed"
what could cause this problem??
here is the Manifest.xml, I don't see any thing weird in it !!
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.dashboard_our"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<permission
android:name="com.example.dashboard_our.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#android:style/Theme.Light.NoTitleBar" >
<activity
android:name="com.example.dashboard_our.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.example.dashboard_our.Hotels"
android:label="#string/app_name" >
</activity>
<activity
android:name="com.example.dashboard_our.Restaurants"
android:label="#string/app_name" >
</activity>
<activity
android:name="com.example.dashboard_our.About"
android:label="#string/app_name" >
</activity>
<activity
android:name="com.example.dashboard_our.PrayTime"
android:label="#string/app_name" >
</activity>
<activity
android:name="com.example.dashboard_our.Airports"
android:label="#string/app_name" >
</activity>
<activity
android:name="com.example.dashboard_our.Currency_convert"
android:label="#string/app_name" >
</activity>
<activity
android:name="com.example.dashboard_our.Translator"
android:label="#string/title_activity_translate" >
</activity>
<activity
android:name="com.example.dashboard_our.WeatherActivity"
android:label="#string/app_name" >
</activity>
<activity
android:name="com.example.dashboard_our.PlaceDetailsActivity"
android:label="#string/app_name" >
<intent-filter>
<action android:name=".PlaceDetails" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.example.dashboard_our.Todo"
android:label="#string/app_name" >
</activity>
<activity
android:name="com.example.dashboard_our.Ocr"
android:label="#string/app_name" >
</activity>
<activity
android:name="com.example.dashboard_our.TodoDetailActivity"
android:label="#string/app_name" >
</activity>
<provider
android:name=".contentprovider.MyTodoContentProvider"
android:authorities="de.vogella.android.todos.contentprovider" >
</provider>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="API-KEY" />
</application>
</manifest>
any error from a DDMS? also you can try looking for .apk file from your project source and installing the app into the device.
Did you check "allow installation from non market applications" in your phone settings?
Did you remove an SD card around the time of installation?
Check if you have declared Main Activity twice inside AndroidManifest.xml. Delete one.
Another solution is if you haven't signed your app, you need to sign it. As the docs say All applications must be signed. The system will not install an application on an emulator or a device if it is not signed. Go here for more information: Android App Signing
I solved it, the problem was in my phone, I had to format my phone in order to work
Related
I am aware this question is asked multiple times on stackoverflow, but the answers given in those posts don't help me out...
This is my manifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="be.gps.android"
android:versionCode="2"
android:versionName="0.0.2" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="19"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:allowBackup="true"
android:icon="#drawable/ic_launcher"
android:label="#string/TRL004451"
android:theme="#style/AppTheme" >
<activity
android:name=".StartUpActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".activities.login.LoginActivity"
android:windowSoftInputMode="stateVisible|adjustResize|stateHidden" >
</activity>
<activity
android:name=".activities.useraccount.resetpassword.RequestResetPasswordActivity"
android:windowSoftInputMode="stateVisible|adjustResize|stateHidden" >
</activity>
<activity
android:name=".activities.useraccount.resetpassword.VerifyResetPasswordActivity"
android:windowSoftInputMode="stateVisible|adjustResize|stateHidden" >
</activity>
<activity
android:name=".activities.settings.ServerSettingsActivity"
android:windowSoftInputMode="stateVisible|adjustResize|stateHidden" >
</activity>
<activity
android:name=".activities.settings.FilterActivity"
android:windowSoftInputMode="stateVisible|adjustResize|stateHidden" >
</activity>
<activity
android:name=".activities.main.MainActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="stateVisible|adjustResize|stateHidden" >
</activity>
<activity
android:name=".activities.settings.DatePickerActivity"
android:windowSoftInputMode="stateVisible|adjustResize|stateHidden" >
</activity>
</application>
</manifest>
Seems to be a problem with a library I was using (signalR).
This post had the exact same issue : Supported devices 0 on Google play
I just replaced the signalR jars with these https://github.com/eak65/FixedSignalRJar and now I have 9000 supported devices.
I am getting this problem when publishing android apk file on Google Play.
This is my AndroidManifast.xml code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="xx.com"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:allowBackup="true"
android:icon="#drawable/main_icon"
android:label="#string/app_name"
android:theme="#style/AppTheme"
>
<meta-data
android:name="com.google.android.gms.version"
android:value="#integer/google_play_services_version"
/>
<activity
android:name="xx.com.MainActivity"
android:label="#style/AppTheme" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="xx.com.Images"
android:label="#string/app_name" >
</activity>
<activity
android:name="xx.com.Awards"
android:label="#string/app_name" >
</activity>
<activity
android:name="xx.com.Magazine"
android:label="#string/app_name" >
</activity>
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
</application>
I tried many stackoverflow.com examples but failed. Apk is working fine in device and emulator.
This may be your problem
<activity
android:name="amithanda.com.MainActivity"
android:label="#style/AppTheme" >
label should be a String value.
android:label="#string/app_name"
FYI : Developer guide gives you an idea
android:label="string resource"
Yesterday I published my app on the Google Play Store as Beta Testing. When I run it from Eclipse on my device it works great, but when I download it from the Google Play Store it doesn't work.
The first screen is an Splash Fragment which shows the Facebook Login button, when I click it it asks for the permissions and then it goes back to the Splash Fragment (It should hide the Fragment).
I tested it on another device and it hides the Splash Fragment, enters to the MainActivity and it tells me that I am not online.
I don't underestand why it does work when I run it from my Eclipse but it doesn't work when I run the version that I download from the Google Play Store.
Here is my Manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.tokensapp.tokens"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="15" />
<permission
android:name="com.tokensapp.tokens.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.tokensapp.tokens.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.GET_TASKS" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.BLUETOOTH" >
</uses-permission>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<application
android:name=".ScrumptiousApplication"
android:icon="#drawable/ic_launcher"
android:label="#string/tokens" >
<uses-library
android:name="com.google.android.maps"
android:required="true" />
<service android:name="com.tokensapp.tokens.NotificationService" />
<activity
android:name="com.apphance.android.LauncherActivity"
android:theme="#android:style/Theme.Translucent.NoTitleBar" >
</activity>
<activity
android:name="com.apphance.android.ui.LoginActivity"
android:launchMode="singleInstance" >
</activity>
<activity
android:name="com.apphance.android.ui.TestCycleActivity"
android:launchMode="singleInstance" >
</activity>
<activity
android:name="com.apphance.android.ui.ProblemActivity"
android:configChanges="orientation"
android:launchMode="singleInstance" >
</activity>
<activity
android:name="com.tokensapp.tokens.ActSplash"
android:label="#string/tokens"
android:noHistory="true"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" >
</activity>
<activity
android:name="com.tokensapp.tokens.ActLoginFb"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" />
<activity
android:name="com.tokensapp.tokens.ActWelcome"
android:label="#string/tokens"
android:noHistory="true"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" />
<activity
android:name="com.tokensapp.tokens.ActMain"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" />
<activity
android:name="com.tokensapp.tokens.ActMain2"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" >
</activity>
<activity
android:name="com.tokensapp.tokens.ActProfile"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" >
</activity>
<activity
android:name="com.tokensapp.tokens.ActCompose"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar"
android:windowSoftInputMode="stateAlwaysHidden" />
<activity
android:name="com.tokensapp.tokens.ActViewToken"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" />
<activity
android:name="com.tokensapp.tokens.ActSettings"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" />
<activity
android:name="com.tokensapp.tokens.ActFriendChooser"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" />
<activity
android:name="com.tokensapp.tokens.BasicMapActivity"
android:label="#string/title_activity_main" />
<receiver android:name="com.tokensapp.tokens.BootReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
</intent-filter>
</receiver>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="#string/maps_key" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="#string/app_id" />
<activity
android:name="com.tokensapp.tokens.ActLoginFb2"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" >
</activity>
<activity
android:name="com.facebook.LoginActivity"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" >
</activity>
<activity
android:name="com.tokensapp.tokens.MainActivity"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" >
<intent-filter>
<action android:name="com.apphance.android.LAUNCH" >
</action>
<category android:name="android.intent.category.DEFAULT" >
</category>
</intent-filter>
</activity>
<activity
android:name="PickerActivity"
android:label="#string/app_name" />
<activity
android:name="com.tokensapp.tokens.ActMyTokens"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" >
</activity>
<activity-alias
android:name=".ApphanceLauncherActivity"
android:targetActivity="com.apphance.android.LauncherActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" >
</action>
<category android:name="android.intent.category.LAUNCHER" >
</category>
</intent-filter>
</activity-alias>
</application>
<instrumentation
android:name="com.apphance.android.ApphanceInstrumentation"
android:targetPackage="com.tokensapp.tokens" >
</instrumentation>
Google Maps requires that the API key be built to the Application Signing Key. That means that the Maps API key you use for debugging (running through Eclipse) will be different than the Maps API key which will work on apps exported from Eclipse and signed to post on the Play Store. All you need to do is get an updated Maps API key using the same key you sign your app with!
Also, see this for a method of creating one Maps API key for both Debug and Release versions of your signed package.
Make sure your facebook app is in live mode.
I switched in manifest manually between activities because I made new activity that needed to be first. Everything works fine, but in the apps screen in my launcher where I see all apps below my app icon i see the name of the first activity "SplashScreen", but when I uninstall in or go to my apps I see that the name is OK.
My manifest:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myapp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="15" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.CALL_PHONE"/>
<application
android:hardwareAccelerated="true"
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:largeHeap="true"
android:theme="#android:style/Theme.NoTitleBar" >
<activity
android:name="com.myapp.SplashScreen"
android:label="#string/title_activity_splash_screen"
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="com.myapp.MainScreen"
android:label="#string/title_activity_main_screen"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="com.myapp.Cameras"
android:label="#string/title_activity_cameras"
android:screenOrientation="portrait" >
</activity>
</application>
android:label="#string/title_activity_splash_screen"
that is the name being used.
you can just delete this line (and all the label from the other activities) and let all activities use the application name #string/app_name
<activity
android:name="com.myapp.SplashScreen"
android:label="#string/app_name"
android:screenOrientation="portrait" >
This should display the Application name
I test my application in android phone. it's a unsigned application export from eclipse.
When i installed the application in phone it's shows user permisson messages. then finally i got a message application not installed. here my mainfest code
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.z_enterprise.praywithme"
android:versionCode="1"
android:versionName="1.0"
android:installLocation="preferExternal" >
<uses-sdk android:minSdkVersion="2" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:icon="#drawable/appicon"
android:label="#string/app_name" >
<activity
android:name=".main"
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=".about"
android:label="#string/app_name" >
</activity>
<activity
android:name=".favour"
android:label="#string/app_name" >
</activity>
</application>
</manifest>
Check Settings > Applications > Mark/Enable Unknown Sources
Mark answer, if useful