androidgradleaide-ide

How to use libraries in AIDE


I'm not very familiar with Gradle, but from what I understand you're supposed to be able to pull libraries straight from the internet? I've followed the project's directions, but got an error

Does AIDE not support remote maven repos? I confirmed that the library in question does exist on the jcenter website. I'm not sure how to make a local maven repository. I tried to download the relevant files from jcenter and put them in .../maven-repo/com/melnykov/floatingactionbutton/1.0.3 and point AIDE to .../maven-repo in the settings, but that did nothing.


Solution

  • Note: AIDE now supports remote maven repositories, so this answer is obsolete unless you are using an older version.

    AIDE does not support remote maven repos. The only way you can make maven repositories work within the app is create a local maven repo. This is as simple as copying a folder from PC to Device if the library you need is in /sdk-path/extras/ (Android and Google libs are there), but a bit more difficult if it is not:

    I had success manually creating a maven repository using these steps:

    1. Download the following files from the right subdir on jcenter.bintray.com:
      • maven-metadata.xml
      • artifact-name-version.aar
      • artifact-name-version.pom
    2. Create a new folder on your device and call it m2repository
    3. Open maven-metadata.xml and remember the groupId, artifactId and version
    4. Create folders for every component of the groupId inside your m2repository (e.g. groupId = com.github.test, folder structure: com/github/test)
    5. Inside of the folder structure (e.g. folder test) , create a folder named after the artifactId from the maven-metadata.xml (often it's library)
    6. Move the downloaded maven-metadata.xml into the newly created artifactId folder
    7. Create a new folder named after the version from the metadata file (e.g. 1.0.0)
    8. Move the pom and aar files into the newly created folder.

    Now, you have to link the maven directory with AIDE:

    If you have a code-only library (no resources), chances are there is a .jar file which you could easily just copy into the libs/ folder of your project. In this case make sure you have the following line added to the dependencies section of your build.gradle:

    compile fileTree(dir: 'libs', include: ['*.jar'])
    

    Please note all this only applies if your project uses the new gradle-based project structure.