How can we avoid building apk for every changes made in imported JARs in Ionic/cordova apps?

  • Thread starter Android Central Question
  • Start date

Android Central Question

Our clients are Ionic/cordova app developers. We develop device level communication applications which are imported to their apps as .jars under /platforms/android/libs/. The problem with this is for update we make for our application on nexus, our clients have to rebuild their APK with updated versions although they don't have any changes on their apps.

Is there a way we can avoid building apk for everyday changes we make in my .jars?
For example if we push our JARs onto devices directly (which I believe can be done by MDM) and if the applications can use them irrespective of the version, we can avoid building apk. How can we achieve this?

[Note: These applications are not available on play store for public, these are internal to our org]


Retired Moderator
Feb 12, 2012
Visit site
That's part of the software development process - if a library changes and doesn't maintain binary compatibility (your responsibility), the app has to be recompiled. If the library doesn't export exactly the same APIs (again your responsibility), the app has to be redeveloped, then recompiled.

It's been that way since written software was invented and it's going to stay that way until we have AI powerful enough to just tell it what we want and it develops an app for us.

So try to not change the binary compatibility or the APIs of your library more than is absolutely necessary. Even if you know that you're going to come out with X in the next version, and you just return a null from it this time. (The developer's app can call the API, check for a null, and use the results if they're not null, otherwise do the work locally. Then remove the local code once you've implemented X and they're rewriting for some other reason. [Sending email in PHP is like that. If sendmail() doesn't exist you use your own code - you're running in Windows. If it exists, you use it - you're running in Linux.])

Forum statistics

Latest member