Can't add module dependency to CordovaLib for Cordova project using Android Studio

asgeo1 picture asgeo1 · Mar 14, 2015 · Viewed 7.7k times · Source

I can't workout how to add the CordovaLib directory as a module dependency in Android Studio.

(NOTE: this is the first time I've ever used Android Studio, so possibly I just don't know what I'm doing)

I'm using:

  • OSX Yosemite
  • Android Studio 1.1.0
  • Cordova 4.3

Here are the steps I have taken:

  1. Create new cordova project
  2. Add android platform and some cordova plugins
  3. Import the generated project into Android Studio (NOTE: when it asks about the gradle wrapper, I say no and just point it to where I have gradle installed - /usr/local/Cellar/gradle/2.2.1/libexec)
  4. Try to build - at this point it will complain for several of the Cordova plugins that cannot find symbol class CordovaPlugin

Obviously it doesn't know about the CordovaLib subproject. This is what I'm trying to fix.

I can't work out how to tell the Android Studio that CordovaLib is a module dependency.

I've gone to the Project Structure window, but can't see any way to link to CordovaLib.

Adding module dependencies in Android Studio

Clicking the "+" buttons does not do anything. I can't work out if I'm doing something wrong, or there are bugs in Android Studio when importing the project...

Can someone please confirm if I'm doing something wrong?

Or please confirm if they are able to import Cordova generated projects into Android Studio, using Cordova 4.3 and Android Studio 1.1.0.

Thanks!

Answer

asgeo1 picture asgeo1 · Mar 15, 2015

First, thanks to @jcesarmobile for putting me on the right track.

Here is how to use the latest cordova-android directly (4.0.0-dev) from Github with Android Studio:

  1. Clone the cordova-android repo:

    git clone [email protected]:apache/cordova-android.git
    
  2. Add the platform to your cordova project

    cordova platform add /path/to/cloned/repo/cordova-android
    
  3. Build the project

    cordova build android
    
  4. Import into Android Studio as a non-android-studio project