Bug 60785 - Xamarin failed to deploy and debug on Android 2.3 (Gingerbread) Device (API 10)
Summary: Xamarin failed to deploy and debug on Android 2.3 (Gingerbread) Device (API 10)
Status: CONFIRMED
Alias: None
Product: Android
Classification: Xamarin
Component: General ()
Version: 2.0
Hardware: PC Windows
: --- normal
Target Milestone: ---
Assignee: Jonathan Pryor
URL:
Depends on:
Blocks:
 
Reported: 2017-11-21 09:58 UTC by Deyun Liu
Modified: 2017-12-25 08:23 UTC (History)
4 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
Visual Studio output from cx (27.78 KB, text/plain)
2017-11-21 09:58 UTC, Deyun Liu
Details


Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report for Bug 60785 on Developer Community or GitHub if you have new information to add and do not yet see a matching new report.

If the latest results still closely match this report, you can use the original description:

  • Export the original title and description: Developer Community HTML or GitHub Markdown
  • Copy the title and description into the new report. Adjust them to be up-to-date if needed.
  • Add your new information.

In special cases on GitHub you might also want the comments: GitHub Markdown with public comments

Related Links:
Status:
CONFIRMED

Description Deyun Liu 2017-11-21 09:58:43 UTC
Created attachment 25773 [details]
Visual Studio output from cx

Hi,

This is Allen. I have one customer who is trying to debug his Xamarin.Android application on his physical phone. The phone is running Android 2.3.4. Now customer is meeting the issue that the deployment will fail on his phone. (Build succeeded)

I have ensured that my customer is having the right settings in Xamarin.Android project property.

1. In the Application setting, Compile using Android version: (Target Framework) is Android 2.3 (Gingerbread).
2. In the Android Manifest setting, Minimum Android Version is Use Compile using SDK version. Target Android Version is Android 2.3 (API Level 10 - Gingerbread.)
3. Customer checked, in Android Options, the Use Fast Deployment is disabled (cannot check or uncheck).

Customer mentioned he got the "The device does not support the minimum SDK level specified in the manifest", this is when he set the minimum Android SDK as API 7, not 10. But seems he still got the issue when set to 10.

Reproduce steps:
1. Create a new Xamarin project, with only one Android project.
2. Set the Application setting as mentioned above, to make the compile SDK as the phone SDK.
3. Simply build and run, debug on Android physical phone, will have the issue.

Here I cannot reproduce due to I have no Android device is running on Android 2.3, however, after my testing and cx's testing, this simple project will run fine in Android 7.1 and 6.0.

Also, for this issue, customer tested in Android Studio, working normally. (Under Android 2.3)

I will attach a txt file is the Visual Studio output from cx's side.

Therefore, please help to give some solution and suggestion on this.
Comment 1 Deyun Liu 2017-11-23 09:07:24 UTC
Hi,

My customer would like me to add here that he has 2 phones running Android 2.3 and both are failing result for this testing.

Thanks,

Allen
Comment 2 Jon Douglas [MSFT] 2017-11-27 18:08:26 UTC
One thing to note is that API 10 is not really supported anymore given that it is less than 0.5% of the Android distribution:

https://developer.android.com/about/dashboards/index.html

It is also over 7 years old now and considered obsolete/deprecated.

The error you see in the logs are the following:

"The device does not support the minimum SDK level specified in the manifest."

This happens when attempting to install the apk and getting the following output:

[INSTALL_FAILED_OLDER_SDK]

This is typically an issue with the project's configuration due to the minSdkVersion being higher than the targetSdkVersion or that the minSdkVersion is higher than the deployment target.

To truly know why, we would need an .apk.

I do not have an API 10 device to test this with and it would be extremely difficult to get my hands on one. The API 10 emulator is considered deprecated and it's ARM so it will be difficult to even start. Given that Google has deprecated APIs up to 14(1-13), I do not expect we will issue a fix to this scenario if there is a bug. If the user runs into this type of issue on a non-deprecated API(14+), we will reconsider it.

The recommendation would be to use API 14 and above.
Comment 3 Deyun Liu 2017-11-30 06:35:04 UTC
Hi Jon,

This is from my customer:

The reason for our interest in API 10 is that we are writing an agricultural application for ZImbabwe. 
We are all volunteers trying to help the situation over there.
Not everyone lives in the first world.
They can only afford cheap phones , as you can appreciate.

I already suggest customer to check whether the model for their Android phones are able to upgrade a little bit. But is there anything we can do from our side?

Thanks,

Allen
Comment 4 Jon Douglas [MSFT] 2017-11-30 17:17:08 UTC
Hi Allen,

I've asked our QA resources to look into testing this scenario with an API 10 device as they have a few available. I will set this bug to REOPENED for the time being until we can confirm or deny this behavior.
Comment 5 Peter Collins 2017-11-30 18:38:14 UTC
I am able to reproduce this with XA Version: 8.0.2.1 in Debug mode, however release deployments work for me on an API 10 device. It looks like our shared runtime .apk[1] has a minimum version higher than 10.

Diagnostic output:
https://gist.githubusercontent.com/pjcollins/23ee5762aeb5e0252f636d3469e38771/raw/9f91818b8a474b6c0fa27986059dd3df75712e5a/gistfile1.txt
Does this work for you if you disable the "Use Shared mono runtime" Android project option?

[1] This apk can be found at the following location on macOS

> /Library/Frameworks/Xamarin.Android.framework/Versions/Current/lib/mandroid/Mono.Android.DebugRuntime-debug.apk
Comment 6 Deyun Liu 2017-12-01 08:26:49 UTC
@Jon,

Thanks so much for this action. I will wait for your confirmation.

Thanks,

Allen
Comment 7 Deyun Liu 2017-12-01 08:28:41 UTC
@Peter Collins,

I have asked customer to disable Use Fast Deployment before. Now I shared your suggestion to him and let's see the result. But in my VS, I only see I can uncheck the Use Shared Runtime, there is no mono.

Anyway, let's see.

Thanks,

Allen
Comment 8 Jon Douglas [MSFT] 2017-12-01 17:10:30 UTC
Hi Allen,

That is the correct option. The label between Mac and Windows are a little different.
Comment 9 Deyun Liu 2017-12-02 15:32:03 UTC
Hi Jon,

What do you mean by this is correct option? You mean to disable Use Shared Runtime? And what's the label between Mac and Windows?

Allen.
Comment 10 Jon Douglas [MSFT] 2017-12-02 18:55:49 UTC
Hi Allen,

The label for this option between Windows and Mac are a little different. On Windows the label is "Use Shared Runtime". On Mac the label is "Use Shared Mono Runtime". They both refer to the same option.

I am just confirming that "Use Shared Runtime" is the correct option to disable on Windows as it seemed that you were confused in https://bugzilla.xamarin.com/show_bug.cgi?id=60785#c7
Comment 11 Deyun Liu 2017-12-03 03:41:47 UTC
Hi Jon,

Ah, yes, I got you now. I already informed the customer to try. But I have got back the mail yet maybe due to weekend. Will let you know if the customer replied.

Thanks,

Allen.
Comment 12 Deyun Liu 2017-12-04 11:22:33 UTC
Hi all,

My customer confirmed that the setting for Use Shared Runtime is disabled as expected. So I think this is not the solution for current issue.

Thanks,

Allen
Comment 13 Deyun Liu 2017-12-12 05:42:21 UTC
Dear Jon,

Any update on this?

Thanks,

Allen
Comment 14 malizec 2017-12-25 08:23:13 UTC
I have the same problem. I've been developing an android app for the past two years and was always able to debug and test it on my LG P500 with Android Gingerbread 2.3 OS. 

I recently tried to add a few features to the app and I am not able to debug or deploy the app to the phone anymore. If I make a signed apk I always get a parsing error when trying to install it. If I try to debug it on the phone I always get unsupported target framework error no matter what kind of compile and target combination of minimum and target framework versions I chose in the manifest.xml file.


I am using Visual studio 2015 
2>The device does not support the minimum SDK level specified in the manifest.
2>Done building project "nReader.csproj".
2>Build succeeded.
2>The device does not support the minimum SDK level specified in the manifest.
2>
2>Deploy failed on LGE LG-P500
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========