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?
Related
I have read all posts that developers page(https://developer.android.com/training/wearables/apps/packaging.html) about packaging wear.
I've tryed step by step everything and nothing works, the wear app never gets installed on the watch. APK installed on my phone, but not in my watch. They have the same package name, permissions, versionCode and versionName.
Each app works well!
I debugged local host:4444, (computer and phone connected via USB connecter, bluetooth connected phone and watch) in eclipse.
problem
the wear app never gets installed on the watch(usb connect smartphone, debug smartphone application)
When I bluetooth debuging an app for smart phones, occurs an error.(usb connect smartphone and wear connect bluetooth debug, debug smartphone application)
why don't installed my watch application? how to solve problem? and what should I debug that phone app or watch app in local host:4444 via bluetooth? If "Turn off Asset Compression" need to me? help me!
code
watch manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.abced.abc"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="20"
android:targetSdkVersion="20" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>"
<uses-permission android:name="android.permission.VIBRATE"/>
<application
android:allowBackup="true"
android:icon="#drawable/app_mark"
android:label="#string/app_name"
android:theme="#style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="#string/app_name"
android:exported="true"
android:allowEmbedded="true"
android:taskAffinity=""
android:theme="#android:style/Theme.DeviceDefault.Light" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
phone manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.abcde.abc"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>"
<uses-permission android:name="android.permission.VIBRATE"/>
<application
android:allowBackup="true"
android:icon="#drawable/app_mark"
android:label="#string/app_name"
android:theme="#style/AppTheme" >
<meta-data android:name="com.google.android.wearable.beta.app"
android:resource="#xml/wear_desc"/>
<activity
android:name="com.abcde.abc.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>
</application>
</manifest>
wear_desc.xml / apk name : abc.apk
<?xml version="1.0" encoding="utf-8"?>
<wearableApp package="com.abcde.abc">
<versionCode>1</versionCode>
<versionName>1.0</versionName>
<rawPathResId>abc</rawPathResId>
</wearableApp>
Among many requirements, you must have the exact same permissions on both sides, it looks like you forgot android.permission.WAKE_LOCK on the phone manifest.
You also need <uses-feature android:name="android.hardware.type.watch" /> in the Wear manifest.
I have installede a app I made. When I run it from eclipse it works, but I cant find it anywhere on my tablet, when I click program (where all the apps are, it is not there) but when I run programmangere I can see it is there. I tried to download it from link, and it install, but I can still not find it anywhere on my tablet.
Any ides??
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.learn2crack.tab"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<application
android:allowBackup="true"
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#style/AppTheme" >
<activity
android:name="com.learn2crack.tab.MainActivity"
android:label="#string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<data android:mimeType="text/html" />
</intent-filter>
</activity>
</application>
First connect the tablet to your pc then copy your apk file which is in the bin then paste it in your phone memory. now disconnect your device.. Goto FileManager in your tablet find the .apk and click on it install it and then open it... Hope ths will work
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
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.
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.