Android Application Version - Min SDK Version - eclipse

I have looked at http://developer.android.com/resources/dashboard/platform-versions.html
2.1 : 27.2%
2.2 : 63.9%
2.3 : 0.8%
2.3.3 : 1.7%
3.0 : 0.2%
I am pretty sure I will use Android 2.1 as my version, covering almost 94% of current users. When I go to set up an android application in eclipse, I see this screen
The documentation says
Min SDK Version
This value specifies
the minimum API Level required by your
application.
What does that mean? Does that mean I can pick 2.3 for my build target, but select 7 as the min sdk version and have all devices running 2.1 supported?

I found a similar post ( Android Min SDK Version vs. Target SDK Version ). Here's part of the answer:
android:minSdkVersion
An integer designating the minimum API Level required for the application to run. The Android system will prevent the user from installing the application if the system's API Level is lower than the value specified in this attribute. You should always declare this attribute.
android:targetSdkVersion
An integer designating the API Level that the application is targetting.

You're correct. The application simply won't install on devices with lower API level. And won't be visible in Android Market for such devices.
Here are listed all API levels:
http://developer.android.com/guide/appendix/api-levels.html

It is my understanding that the "Min SDK Version" controls whether or not your users receive the "This application is not supported" message box. For example, if they were running 1.6 (API 4) and you inserted a 7 in that box.... they'll receive the message regardless of whether or not you've checked the 1.6 box.
I never quite understood why it appears that this can be arbitrarily set. I think it's set up that way to allow the developer to build against multiple targets and features without being forced to have compatibility with only one SDK version.

min-sdk=7 (Android 2.1) means your app cannot be installed in device with API level 6 (android 2.0.1) or below (1.5 or 1.6). Of course you can install your app in device with API level 7 or above ( > 2.1).

Related

Android Target Framework in .NET MAUI app

I have a .NET MAUI app targeting .NET 7 and this is what I see in the project file:
<TargetFrameworks>net7.0-android;net7.0-ios;net7.0-maccatalyst</TargetFrameworks>
When I open up the properties for my project, I see that the minimum target for Android is set but I don't see anything selected for target API -- see below:
With these settings, what version of Android API is my app targeting?
I recently received an email from Google Play that has the following statement.
Now, apps that target API level 29 or below will start experiencing
reduced distribution starting Jan 31, 2023...
With that said, what API level does my app target if it's targeting net7.0-android?
If not specified, (presumably - not verified) it will automatically use the highest installed one.
Click the dropdown triangle. First one is highest. I see Android 13.0 (API Level 33).
Leaving this blank allows it to update to latest, when VS updates.
The google's official document said:
Starting in January 2023, app updates must target Android 12 or higher and adjust for behavioral changes in Android 12; except for Wear OS apps, which must target Android 11 or higher.
So I suggest you set your project's Android Target Framework as Android 12.0(Api 31). It meets google's requirement and needn't to do the job about fitting the android 13.0.
For more information, you can check the official document about Meeting Google Play's target API level requirement.

Can't run app on Huawei lite wearable (GT2 PRO): API error when installing on device

I am trying to write an app for my GT2 Pro but when I try to install my app with Huawei DevEco Assistant, it gives me the following error:
Installation failed: 47. Invalid value entered for app.apiVersion
Here is the steps I did:
I created a [Lite] JS project.
I signed the app without any changes on project.
I built a signed hap and copied it to the haps directory on the phone.
I tried to install app via DevEco Assistant.
DevEco Studio details:
DevEco Studio 2.1.0.501 with api 4-5
DevEco Studio 3.1.0.100 with api 4-7
I assume you followed the process for debugging your app on GT2 Pro at https://developer.huawei.com/consumer/en/doc/distribution/app/agc-help-harmonyos-debugapp-manual-0000001177608893, especially on Sports watches section.
What's the software version in the GT2 Pro? If it has been upgraded to the latest version, you need to check the build.gradle file and ensure the SDK version is correct. For the lite-wearable device, the compatible API 4 and target API 5 are recommended. You may set API 4 for both or API 3 and API 4, depending on HarmonyOS version in your device. You also need to make sure the API configuration is consistent in the config.json file if the "apiVersion" is configured. In addition, you should use the official released DevEco Studio such as version 3.0 or version 2.1 for your app development and debugging.

I have version 1.1.0 of my movesense. Can I flash the firmware to 1.9 without any problems with Showcaseapp-1.9.6.apk?

I downloaded the Showcaseapp-1.9.6.apk. (I am on android)
I downloaded 1.9.0_hr_wakeup_DFU.zip
The showcase app does not show my Smart Sensor (movesense) in the app under "movesense connection" also can't select device because its not listed.
The following message from the readme is confusing me:
WARNING: in case the new firmware is not based on the latest Movesense stack, the device looses the capability to be updated!!!
Does this mean I have to update from 1.1 to 1.2 to 1.3 and so on?
Kind regards
No worries, you can update directly from 1.1 => 1.9. However, since your firmware is that old you need to use the "_w_bootloader" DFU packet (contains updated bootloader which was introduced in v1.2). Basic rule is that you'll need the "_w_bootloader" DFU packet if there was softdevice / bootloader change between the two versions.
There may be some issues updating the sensor if you are using the latest Android showcase app (1.9.x). In that case you can download older version from movesense-mobile-lib bitbucket site / downloads. iOS sample app should not have that limitation but you will need also the nrf connect / nrf toolbox apps.
Full Disclosure: I work for the Movesense team

Minimum Android version with flutter

Which minimum android version is supported by flutter?
Do some plugins have any effect on which version is not supported?
I tried to run my flutter app on an android emulator, but with the version android 16 it doesn't work and the app crashes. Do I have to change the compile version in some config files or why doesn't it work?
Flutter support 16. But to run app on Android emulator, use over 19.
https://github.com/flutter/flutter/issues/11094
https://github.com/flutter/flutter/issues/9108
https://github.com/flutter/flutter/issues/8610
From Flutters FAQ
flutter.dev/docs/resources/faq#what-devices-and-os-versions-does-flutter-run-on
Mobile operating systems: Android Jelly Bean, v16, 4.1.x or newer, and
iOS 8 or newer.
Mobile hardware: iOS devices (iPhone 4S or newer) and ARM Android
devices.
Note Flutter currently does not support building for x86 Android
(issue #9253) directly, however apps built for ARMv7 or ARM64 run fine
(via ARM emulation) on many x86 Android devices.
We support developing Flutter apps with Android and iOS devices, as
well as with Android emulators and the iOS simulator.
We test on a variety of low-end to high-end phones but we don’t yet
have an official device compatibility guarantee.
We believe Flutter works well on tablets. We do not currently
implement all of the tablet-specific adaptations recommended by
Material Design, though we are planning further investment in this
area
The answer to this question also, partly, needs to take into consideration what parts of Android you want to take advantage of in your application. The question of what min version Flutter supports has been answered here a couple of times so I won't answer that, but the Android support libraries will also need specific min versions.
If you plan to use plugins of any kind then you will probably hit multiple issues if your min version is too low. Do you need Firebase? Do you need specific camera functions?
Google also just announced required bumps for min versions with regards to Google Play that you should review.
My advice is to follow documentation, analytics and best practices to determine what you "true" min version should be.
The Flutter documentation has this answer to Android and iOS. Now it says that support: Android Jelly Bean, v16, 4.1.x or newer, and iOS 8 or newer. However, this information can change according to the new Flutter version. By this reason, it is better that you review the next link:
https://flutter.dev/docs/resources/faq#what-devices-and-os-versions-does-flutter-run-on
Furthermore, it would be best if you analyzed the plugins because they could need higher versions of Android and iOS.
This answer can be useful :
Devices and OS versions on which Flutter runs
Mobile operating systems: Android Jelly Bean, v16, 4.1.x or newer, and iOS 8 or newer.
Mobile hardware: iOS devices (iPhone 4S or newer) and ARM Android devices.
You can learn more here

Emulator with API 15 and Android 4.0.3 shows in settings 4.0.4

I need to emulate Android device (Samsung Tab 2) with version 4.0.3, but after choosing it in Android Virtual Device Manager and running it I get info in settings that it is a 4.0.4 version.
I need to run my web app written in html5 to reproduce some bugs.
Any idea about it?
The problem is that the emulator Android versions only correspond with specific versions from each API level. 4.0.3 and 4.0.4 are both in API level 15, so the emulator is only made available for Android 4.0.4. There is no Android 4.0.3 emulator; you'd have to find the system image for that or build it yourself.