I'm working on a server backend component for an app, and one goal is to log all the messages transmitted through the app (using MQTT). To do this, I wanted to use the app as a library of sorts so that I could use the objects defined within to parse the messages coming through, since none of the messages will be transmitted as standard types. I'm using IntelliJ for the Java development, and Android Studio for the Android development. Is this possible? I was previously able to import the code as a module, which let me use the types defined within, but when I went to build the project it tried to build the Android code as well and failed because IntelliJ hadn't set up Android dependencies. Should I try and set the Android SDK as a dependency in the app module, and then build? Or am I approaching this the wrong way? (if it's even possible) I understand that there are also Library projects which looks like a possible solution, it would just require re-factoring all the applicable code out to a different project and I was hoping that wouldn't be necessary.
Trying to import the entire Android app as a library into a different codebase probably isn't going to work; you don't want a non-Android app to have all that Android code linked in, and with resources and the whole environment it will be tough to get it to compile at all.
A better approach would be to take all of the code that needs to work cross-platform and distill it into a plain Java library that you can include in multiple contexts. On the Android side you could include it as a plain Java library project, or compile it to a jar and include the jar.
Related
I know a single app bundle is enough to support different kinds of configurations, but one of our module is in react native and recently we've upgraded the Gradle version to 7.0.0. due to which our build machine won't let us use the minimum SDK below 21. This is why I wanted to create separate .aab files(one created on the build machine the other one from android studio) with different API levels(one will support android 19+ and the other one will support android 21+) and I wanted to upload these bundles without changing package name or application id. Any suggestions around this? or is there any better way to do this?
Note:- Two separate .aab are a must. I already have looked into this solution but it is not helpful to me.
Actually, my app features are split into android library and I choose the feature I want include at the compile time. Is it possible to have a default app with very basic features, and an on-demand installable feature shipped as APK ?
I thought I could use module feature which was made for instant app because they are like android library but can generated APK but when I tried it out, the package name was different so it was impossible to use it.
I know it's the proper way to use android feature but can I use my own tricky way ? Otherwise, is there other possibilities to achieve this ?
I'm a bit of a newbie to all this.. but I can't seem to find any specific instructions for my scenario
I have built a simple endpoint api, using a maven project via eclipse.
I have built an android app, and just want to add a little test in it to use the simple api.
(sidenote: i have also built an app engine web app which will later also [i hope] make use of the same endpoint api, so both the web app and the android app make use of the same library / code)
anyway, I'm stumbling on a couple steps.
I can't seem to use the eclipse 'google -> generate cloud endpoint client library' option, since it's a maven project.
So i found on the google site, instructions to use the endpoints.cmd commandline to generate the library.
I successfully did this apparently (it created a zip file rather then just a jar)
here is where i am confused what to do next.. or if i missed something.
I have tried adding the jar within the zip as a library in the build path for my android app.
When I do that, I see that the Builder member doesn't seem to have been added.
Should I expect it to have been added by the library generation?
I can't seem to do anything in my android app code to use the library.
What am I missing / doing wrong?
I've been searching for info about it on the internet but I haven't found anything.
The point is that I want to transform my library for android, which I'm using for advertising, into an sdk to make it available for other developers.
My library is mainly an extension of the Application class and I don't know if this should be the way an sdk is made, mainly because it seems weird to me that a .jar extends the Application class.
So, I'm asking for some advices/tips/guidelines or whatever you could tell me in order to build an sdk.
I have few questions:
Is it possible to create an Android App with Java and setup all
myself?
If yes, what are the important things, that must a App have?
Is there a tutorial?
If someone want know why:
I want to understand all exactly and want to have the full control.
The Android SDK with eclipse have so many features(For the first small projects too many).
In the best case I want only link the Android library jar, but I think its not so easy and there are a few Mord things Like the App manifest ...
I hope someone understand me and can help me.
I want to understand all exactly
I doubt that there is anyone on the planet that understands it all exactly.
Is it possible to create an Android App with Java and setup all myself?
I do not know what "with Java" means here. Based on the rest of your question, I am interpreting this as:
Is it possible to create an Android application project without an IDE?
In that case, you are welcome to:
Create a project using android create project, designed to be built with Apache Ant, or
Create a project by copying an existing project or downloading a bootstrap project, then use android update project to create the Ant build files
If yes, what are the important things, that must a App have?
The android create project command will create a complete "Hello, world" application, ready to be run.
Is there a tutorial?
I will settle for pointing you to the documentation for creating and building projects on the command line, in hopes that perhaps that is what you are referring to.