无法使用Android Studio为Cordova项目添加模块依赖关系到CordovaLib

asg*_*eo1 5 android cordova android-studio cordova-plugins cordova-cli

我无法研究如何CordovaLib在Android Studio 中将目录添加为模块依赖项.

(注意:这是我第一次使用Android Studio,所以可能我只是不知道我在做什么)

我正在使用:

  • OSX Yosemite
  • Android Studio 1.1.0
  • 科尔多瓦4.3

以下是我采取的步骤:

  1. 创建新的cordova项目
  2. 添加android平台和一些cordova插件
  3. 将生成的项目导入Android Studio(注意:当它询问gradle包装器时,我说不,只需将其指向我已安装gradle的位置 - /usr/local/Cellar/gradle/2.2.1/libexec)
  4. 尝试构建 - 此时它会抱怨几个Cordova插件cannot find symbol class CordovaPlugin

显然它不了解CordovaLib子项目.这就是我想要解决的问题.

我无法弄清楚如何告诉Android Studio这CordovaLib是一个模块依赖.

我已经进入了Project Structure窗口,但看不到任何链接到CordovaLib的方法.

在Android Studio中添加模块依赖项

单击"+"按钮不会执行任何操作.如果我做错了,或者在导入项目时Android Studio中存在错误,我就无法解决问题...

有人可以确认我做错了什么吗?

或者请确认他们是否能够使用Cordova 4.3Android Studio 1.1.0将Cordova生成的项目导入Android Studio .

谢谢!

asg*_*eo1 7

首先,感谢@jcesarmobile让我走上正轨.

以下是如何使用cordova-androidGithub和Android Studio直接使用最新版本(4.0.0-dev):

  1. 克隆cordova-android repo:

    git clone git@github.com:apache/cordova-android.git
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将平台添加到您的cordova项目中

    cordova platform add /path/to/cloned/repo/cordova-android
    
    Run Code Online (Sandbox Code Playgroud)
  3. 建立项目

    cordova build android
    
    Run Code Online (Sandbox Code Playgroud)
  4. 作为非android-studio项目导入Android Studio

  • 我无法获得比在Android Studio中工作的cordova-android 4.0.0-dev更旧的东西.这可能是可能的,但是已经花了很多时间,所以我放弃了.我将我的项目更新到cordova-android 4.0.0-dev,发现它非常稳定.我发现的唯一问题是新的"白名单"功能,需要在项目中安装`cordova-plugin-whitelist`插件. (2认同)

小智 7

我有同样的问题,是因为加载模块CordovaLib有错误.你必须做这两个步骤:

1.-在根文件(Android)中添加名为"settings.gradle"的文件,其中包含以下内容:

include ':CordovaLib'
project(':CordovaLib').projectDir = new File('CordovaLib')
Run Code Online (Sandbox Code Playgroud)

2.-转到文件"build.gradle"并找到这个部分:

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    // SUB-PROJECT DEPENDENCIES START
    // SUB-PROJECT DEPENDENCIES END
}
Run Code Online (Sandbox Code Playgroud)

并将其更改为:

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':CordovaLib')
    // SUB-PROJECT DEPENDENCIES START
    // SUB-PROJECT DEPENDENCIES END
}
Run Code Online (Sandbox Code Playgroud)

现在你只需要运行项目.