So we're working on creating Android Material Awesome, a library which will hopefully incorperate the benefits of Material Design, Twitter's Bootstrap, and FontAwesome. What we really wanted is a project other people can easily include into their projects using gradle dependencies. To do this we needed to create a standalone library project so we could make it as lightweight as possible for including as a dependency, and a sample app that would use it for testing. These are the steps we took to get started in Android Studio (version 1.1).
The first thing we needed to do was to create two new projects, with all the default settings (Blank Activity etc). One for our sample app, and one for our library. We added both of ours into the same GitHub repo, however you can save them wherever you like.
####1. Rename Module
Initially we'll focus on our library project. Annoyingly Android Studio automatically creates you a module called app
. Modules really should be uniquely named, so you'll need to right click on the module name, click refactor
and rename to something useful. We called ours library
.
####2. Rename Folder
Unfortunately, this doesn't fully rename the root folder. So using Finder (OS X) or File Explorer (Windows), you'll need to navigate to the module folder. Rename it to match what you named your module you named it e.g. library
.
Android Studio calls my module library, but Finder still says app
####3. Drag build.gradle into Android Studio
This'll break your project! To fix it, you need to go back to Android Studio, and open the build.gradle for the module. It'll have a little warning at the top asking you to add it to the project. Click this and wait for gradle to synchronise again! All your files should magically reappear again!
Drag the highlighted file back into Android Studio
####4. Synchronise
You should see a yellow/gold banner appear at the top of your file, click it to add file to your project and wait for Android Studio to synchronise. Once it's done, you should see all your files have magically reappeared again!
click the yellow/gold banner at the top to add file to project and synchronise
####5. Make Android Library
Whilst you still have your build.gradle
file open, you'll need to change the first line :
apply plugin: 'com.android.application'
to say:
apply plugin: 'com.android.library'
####6. Remove applicationId
You'll also need to remove applicationId
in defaultConfig
before synchronising again.
The end library build.gradle file
####1. settings.gradle
####2. build.gradle
Now you can create all the library projects you want to and use them in any of your other apps! We'll probably write another post depending on how hard it is to publish our library into bintray ( https://bintray.com/howbintrayworks )