Is it possible to load Dynamic feature from a library in android? - android

Can i load a dynamic function from a jitpack library ?
My use case is:
I developed an android app (30MB due to product requirement) which i want to share with third party vendors. i cannot share my code with them because of privacy. cannot convert this code into jitpack lib because it will directly increase vendor's app size.
All i want to do is create a smaller jitpack library which will load this app as a dynamic module.
so that i can share that library with third party vendor.
Let me know if its possible or there is any better way to do this
tried creating jitpack library with on-demand dynamic module inside it. But this module is not available for vendor's app.

Related

Distribute Flutter/Android library(.aar) to third party android App

I have created the Flutter module and integrated with another existing android project. And
my requirement is to distribute the android library to use in the another third party Android app.
I have checked in the internet and did not get any help. Can any one suggest the approach or provide any documentation available on internet.

How we can use dynamic android modules in local android app?

it is possible to use dynamic modules in custom android application ? without using android store. The application is a local application with differents features.
SplitInstallManager is part of Google Play API, I'm afraid you can't walk-around this since they don't allow any 3rd party source of modules. Instead, you can do your own API if you really want to.

Can we use an android library (aar) in a GeneXus android app?

We have an android library for mobile data gathering (location, mobile device, etc.) that I would like to share with a partner. This aar component was developed using java and android studio, vanilla stuff.
Problem is, this partner is using GeneXus platform. I have performed a research and what I have found is that you can create an android component using GeneXus, but nothing related to consuming one (an external aar file).
Does anyone know if that is possible?
I also have verified that you can have access to "some" device data, like geo localisation, but that is it. Point is, I could create something in GeneXus, however with far less data richness than native android.
Yes, you can extend Genexus Android native app by using any native library you need to use.
Genexus provide Extensions Library for extensibility in native application.
You can create an External Object in Genexus and then use it in your application.
You can find a full sample in Github with step by step documentation:
https://github.com/genexuslabs/SDExtensionsSample
Best,

How to restrict libraries used in an android library project so that the app which use my library cannot access the libraries inside it?

I have a library project uses some library files like universal image loader.
If an app uses my library(provided as aar), it can access the functions of universal image loader as well. How to restrict it so that user cannot use this?
You can't. The developer is free to use whatever libraries the developer wants to. If the developer wishes to use an image-loading library, and for whatever reason the developer chooses the discontinued Universal Image Loader, that is the developer's right.
If you find this to be unacceptable, only distribute your library to your subordinates, who you can order to not use that library.

How to use native library in another package on Android Play Store applications?

I want to put differently compiled native library packages (4 different packages having armv6, armv6+vfp, armv7, armv7+neon) on Play Store.
Then, I want to publish 1 main application package which can use one of those 4 packages. It will detect the cpu type in runtime and tell user to download application named MyAppLibPackARMV6vfp. Afterwards, if user tries to use the library in main application, main application will check if MyAppLibPackARMV6vfp is installed and if it is, then it (main app) must be able to load native library from that remote package.
This must somehow be possible as we see similar packages on Play Store like: https://play.google.com/store/apps/details?id=com.mxtech.ffmpeg.v6_vfp
How can I do the same thing; allowing a third party (made by me) application to use a library located on another application (made by me)?
Just to post my opinion of how to achieve this goal. It might not the most standard way but it should work.
Take the MX player plugin for example, the main program is MXPlayer.apk and the addition codec is in MXPlugin.apk
Since these two are all signed by the same vendor, they can use the same UID. So MXPlugin could be able to copy the xxxCodec.so into /data/data/com.example.mxplayer/libs/ and then the MXPlayer could be able to load the new codecs.
It is not very graceful. Taking your situation for example. If I were you, I would expose all the APIs in the main program via a service interface (and protected by the same signature). And all the other apk would bind to this main service and call the implementation in native library.

Categories

Resources