The idea of this issue is to start a discussion and with it reach the best decision.
IMO the bigger issue is we need to take advantage of the already established native toolchain. By generating dex files directly, we skip a lot of tooling that can be useful to us like:
My vote goes for reverting to generation of java source code. Please give your opinion @NativeScript/android-runtime
We already had an internal discussion, but I urge everyone to give their opinion in this issue in order for all parties to get better understanding of this issue.
I think reverting to the java source code generator is the way to go, not only because of the Android Studio integration, but also because users can, if and whenever necessary, peek into the Java files to see what has been generated for them. We need to make sure that both generators will pass the SAME tests, and have the same features.
In addition we can start discussing if and whether we are making changes to the plugin structure, because the current solution (flavors) does not scale, uses flavors inappropriately, and already causes problems when attempting to open a NativeScript project in Android Studio, or when trying to integrate NativeScript project in a native one. That will of course be a major breaking change for plugin authors, and if we are doing it, it will need to happen in stages (about 2 releases time?), with an announcement ahead of time, and eventually tooling (android studio project templates?) to help contributors upgrade.
@NathanaelA Such a change should be transparent to plugin authors and no breaking changes are expected.
@atanasovg - According to Peter in his post on Dec 20th
That will of course be a major breaking change for plugin authors, and if we are doing it, it will need to happen in stages (about 2 releases time?),
So is this a breaking change for plugins or not?
@NathanaelA, there will be no breaking changes concerning the android plugins for the 3.0 release.
Most helpful comment
@NathanaelA, there will be no breaking changes concerning the android plugins for the 3.0 release.