Sharing own module across projects Android Studio - android-studio

I'm struggling badly with moving from Eclipse to Android Studio.
Basically, I get that an Android Studio project is more like a workspace and a module more like a project...
However, in the Android Studio start page you can only create projects, so how do you share a module (i.e. a project in eclipse terms) across projects?
Basically, I have a number of apps that use a shared library I've created, in Eclipse all I do is flag it as a library and in each project simply link to it.
I have absolutely no idea how to do this in Android Studio. The examples for creating modules seem to take you as far as creating a module for no real purpose other than to use it within one app.
I first imported my library as a project in android studio, but that proved pointless, thinking that was how to do it because I want it kept separate in my version control system.
I then created a temporary module inside my app, but then it stores it within the project and in my other apps I cannot find a way to import the modules, so I really don't see what the point of a module is when it's embedded in a project and can't be separated or referenced anywhere else.
Thanks for any help.

Consider your library project name common-lib
Open build.gradle of the projects to which you want to add library add add the following
dependencies {
compile project(':common-lib')
}
and sync gradle

Related

IntelliJ idea does not properly see modules of generated Ktor project. Android Studio does see them

.0. I imported a project to the PC (specifically here = generated Ktor project, although I've seen such behavior before with Compose Desktop projects)
Generated here
.1. IntelliJ Idea doesn't recognize it as a project
When I open the same project on Android Studio = it works fine
Here is how the project supposed to look in IntelliJ (this Ktor project I build manually with IDE and it worked):
.2. I was able to make the project folders visible to IDE:
Repair IDE->Rescan Project Indexes->Reopen Project
Now It look like this:
But IDE still doesn't see my modules properly
How do I properly configure the imported project?
Note: I've read IntelliJ does not show project folders
And tried methods described there. But a lot of answers are hard to replicate as IntelliJ interface changed.
Edit: I've fixed it with Manage Idea Settings->Restore Default Settings. Now projects are opened properly. Thank everyone for your time.
I've fixed the problem with Manage Idea Settings->Restore Default Settings. Now projects are opened properly. Thank everyone for your time.

Create Kotlin Library

I am trying to achieve what is extremely simply in other languages, however I am new to Kotlin and Android Studio.
I wish, when creating a project, to reuse code by having it in a seperate directory to the project, but to be able to create instances of a Kotlin class in a given project, and also to be able to edit the class definitions and rebuild the 'library' in that open project
Before anyone shoots me I have read
Create a Kotlin library in Android Studio
this however does not work and simply results in

Incorporate 3rd Party Native Libs into Android Studio project

I am trying to setup an NDK library module structured very similar to the gen-libs module in the Android-NDK sample project. It identifies what I want in an Android NDK library module to allow me to incorporate 3rd party Native Libs:
src/main/cpp
CMakeLists.txt
Android manifest
build.gradle
I am NOT looking to add C or C++ source files to my app module.
Instead, I am looking to create an Android-NDK library module within Android Studio, so that I can incorporate 3rd Party Native Libs.
However, I am Unable to easily reproduce the structure of the gen-libs module in Android-NDK sample hello-libs.
More specifically, Android Studio does not provide any option to create a "New => Module => Android Library => Add NDK/C++ support"
I suppose I can recreate this NDK module manually, but before I do that, I would like to ask the community if, for a brand new project, is there any easy way to auto-create the gen-libs module structure from hello-libs beside manual method?
Feel free to use your copy/paste skills to produce the project manually. The wizard won't do it for you, at least for now.
You can also create an app project and switch it to library by changing one line in build.gradle.
You can also create a library module, right click on this module, and choose 'Link C++ Project with Gradle' from the popup menu (or from File menu).

Cocos2dx can be used in android studio development with java?

I downloaded the cocos3.14.1 in the cocos2dx official website, and then use the online method to create a project structure, and then compiled out android
Studio version of "proj.android-studio", and finally with the android studio to the success of this project can also be run. But then how do I develop it? Map, event, interface, logic how to write?
After importing there will be an activty inheritance Cocos2dxActivity, and a package "org.cocos2dx.lib". But I do not know what to do
You have to write most of the game logic in C++ and keep your class files in "Classes" directory.
You would have to update the android project include these C++ files.
If you're using a mac, it is easier to develop it in Xcode, and build it for android in the last step. That way you can debug all the game logic in Xcode and simulator quickly.
In the project that is initially created, your game logic starts in the AppDelegate file (by setting things like the design resolution etc), and the first scene is the "HelloWorld" scene.
Since you're new to this, why not just purchase a book and get started, or read any of the many tutorials available online.

Android Studio referencing library seems overly complicated. Is there an easier way?

I'm trying to migrate to Android Studio from Eclipse.
In reading a simple example of using a library within another app:
https://developer.android.com/sdk/installing/studio-build.html
In eclipse to achieve this all I would go to the properties of the project and add a reference to the project. Simple, through the IDE and easy to check the build settings at a later date.
In Android Studio I've got to add an entry to my referenced library using ALT-ENTER after getting autocomplete to find the library, which seems to add an entry to the file 'app.iml':
<orderEntry type="module" module-name="app2" />
Then I've got to edit the gradle file:
dependencies {
compile project(":lib")
}
Is there not a better way, i.e. using the IDE. I don't particularly want to have to remember about this xml iml file or have to manually edit build files every time I want to do something.
?
Sorry,
After browsing for a while with no answer I found it just after posting:
How to create a library project in Android Studio and an application project that uses the library project
Why can't Google update their documentation to use the more normal way (presuming this dialog is a new addition)....

Resources