NativeScript / android

NativeScript for Android using v8
https://docs.nativescript.org/guide/android-marshalling
Apache License 2.0
532 stars 135 forks source link

Android SDK 16 #198

Closed aMarCruz closed 8 years ago

aMarCruz commented 9 years ago

There is a NS version that supports Android SDK 16 ?

slavchev commented 9 years ago

The current minimum supported API level is 17. There are no technical limitations to support lower levels though. I will run some checks and report later what the actual minimum supported API level is. Meanwhile let's see what the community wants so we can prioritize this issue accordingly.

aMarCruz commented 9 years ago

@slavchev thanks :+1: In our poor México, there are still several million phones with Android 4.1

pacal commented 9 years ago

I agree. I am evaluating NS and ran into this issue today. The majority of my test devices are actually 4.1. Even an american Tmobile note2 which is quite popular, many are still on 4.1

NathanaelA commented 9 years ago

https://developer.android.com/about/dashboards/index.html According to Google, 12.1% are still on 4.1.x; that is actually a pretty large chunk of mobiles (that is probably more phones than Windows Mobile's entire market). So I would say 4.1 (API 16) should be the minimum supported on Android as it adds a pretty large chunk of phones. The SDK's versions below that is tiny in comparison

slavchev commented 9 years ago

OK guys,

Here are the results. I built the runtime against API level 15 and deployed our test app on the standard ARM emulator (4.0.4). All tests passed. I had to edit NativeScriptApplication.java and NativeScriptActivity.java files because these files were generated using reflection for API level 17. Besides that there were no other changes.

The results are not surprising. After all the runtime just serves as a Java<->JavaScript bridge and it is not bound to a particular API level. Once we decouple the Android specific classes (e.g. Application, Activity, etc.) from the runtime we will get the support for API level 15 (or maybe lower) for free. The good news is that we are already working on a related task (see https://github.com/NativeScript/android-runtime/issues/226).

aMarCruz commented 9 years ago

wow! api 16 is enough for me a big big thank you :+1:

bradmartin commented 9 years ago

Heck yes. I need this in my life :)

rhaldkhein commented 9 years ago

:+1: Hope this will be merged to release. Thank you very much in advance! :smile:

aMarCruz commented 9 years ago

+1

slavchev commented 9 years ago

Just a quick update - we won't ship this feature for the next release (1.5) which is coming after a week. Right now it is hard to say when we will ship it, I guess it will be ready for 1.6.

sect2k commented 8 years ago

Supporting only android 4.2 and newer is really a show stopper for using NativeScript currently, as it leaves out a good tenth of the user base (not all user have the latest, high-end phones).

Could you, please, provide some more information on availability of this, as "I guess it will be ready for 1.6" is very vague and not very helpful.

I love NativeScript, I think it's awesome, and has enormous potential, but with limitations like this it's just not ready to be considered for production use (yet).

slavchev commented 8 years ago

Could you, please, provide some more information on availability of this, as "I guess it will be ready for 1.6" is very vague and not very helpful.

You can find our roadmap at https://www.nativescript.org/roadmap

sect2k commented 8 years ago

I've seen the roadmap, it's not very detailed, and following issues here on GitHub, it seems it's not 100% accurate, more of a general direction thing.

Anyways, since this feature is not on the roadmap, does that mean there is no chance for this to make 1.6? If not then, when?

slavchev commented 8 years ago

We will try our best to ship this feature with 1.6. Also, as any other open source project we gladly accept pull requests from the community.

sect2k commented 8 years ago

@slavchev Good to hear, thanks. If 1.6 would support API level 15 (even just 16 would be welcome), that would be great. Support for lower levels, from my perspective, is not needed.

As for contributions, my android-runtime knowledge is lacking, but if you need help, point me in the right direction, and I'll do my best.

ljx0517 commented 8 years ago

+1 Android 4.x.x is need

slavchev commented 8 years ago

This https://github.com/NativeScript/android-runtime/pull/364 is already merged into master branch. Now you should be able to build the runtime with SDK API level 10 (Android 2.3.3). I am waiting for admin team to upgrade our build infrastructure (not enough disk space) so I can change the project settings.

andmm commented 8 years ago

So now there is support for 4.0.x+? If so, that is very good news. I was considering nativescript but the lack of 4.0/4.1 was a big negative since there are a lot of devices still running those versions.

aMarCruz commented 8 years ago

I've been waiting for this to start a fork of our riot.js with native support for Android/iOS. Thanks!

slavchev commented 8 years ago

@aMarCruz please note that while the runtime can work on Android 2.3.3 (API level 10) the current version of the core modules still uses many APIs from API level 17+. Depending on your requirements it may be not possible to use the core modules as they are. The good news is that we are already discussing different approaches how to refactor the core modules so that lower Android API levels are supported. I encourage everyone to continue this discussion at core modules tracker as this issue will be closed once our build infrastructure has SDK 10 installed.

aMarCruz commented 8 years ago

@slavchev , I hope the more important ones will be ready soon, anyway this is a very good start point :+1:

PS. I think with the current mobile usage API level 15+ is sufficient, but thanks for your heavy work!

Plamen5kov commented 8 years ago

issue should be moved to {N} modues: https://github.com/NativeScript/NativeScript/issues/1742

calebeaires commented 8 years ago

+1

MiaranaDIY commented 7 years ago

any more details on this... so i can fix the message "The new package failed because the current SDK version is older than that required by the package." PS. our target phone is running Android 4.1.2 (API 16), and i'm using angular template for testing

Plamen5kov commented 7 years ago

@MiaranaDIY there's an issue in here: https://github.com/NativeScript/NativeScript/issues/694