更新到 Android Studio 3.0 后无法运行 Ionic 应用程序

新手上路,请多包涵

这是我的离子信息

cli 包:(/Users/billb/dev/customer-mkt-app/node_modules)

 @ionic/cli-utils  : 1.15.2
ionic (Ionic CLI) : 3.15.2

全球包:

 cordova (Cordova CLI) : 7.0.1

本地包:

 @ionic/app-scripts : 3.0.1
Cordova Platforms  : android 6.2.3 ios 4.4.0
Ionic Framework    : ionic-angular 3.3.0

系统:

 Android SDK Tools : 26.1.1
ios-deploy        : 1.9.2
Node              : v6.11.5
npm               : 3.10.10
OS                : macOS Sierra
Xcode             : Xcode 9.0.1 Build version 9A1004

环境变量:

 ANDROID_HOME : /Users/billb/Library/Android/sdk

杂项:

 backend : pro

我可以成功构建应用程序。当我尝试在 Android Studio 中打开它时,出现了一些错误,主要是关于 gradle 同步失败。这是消息控制台中的 5 个错误。

无法解析 ‘:@debug/compileClasspath’ 的依赖关系:无法解析项目:CordovaLib。无法解析项目:CordovaLib。

要求:项目:

项目:声明从配置“debugCompile”到配置“debug”的依赖项,该依赖项未在项目 >:CordovaLib 的描述符中声明。


无法解析 ‘:@debugAndroidTest/compileClasspath’ 的依赖项:无法解析项目:CordovaLib。无法解析项目:CordovaLib。

要求:项目:

项目:声明从配置“debugCompile”到配置“debug”的依赖项,该依赖项未在项目 >:CordovaLib 的描述符中声明。


无法解析 ‘:@debugUnitTest/compileClasspath’ 的依赖项:无法解析项目:CordovaLib。无法解析项目:CordovaLib。

要求:项目:

项目:声明从配置“debugCompile”到配置“debug”的依赖项,该依赖项未在项目 > :CordovaLib 的描述符中声明。


无法解析 ‘:@release/compileClasspath’ 的依赖项:无法解析项目:CordovaLib。

无法解析项目:CordovaLib。要求:项目:

项目:声明从配置“releaseCompile”到配置“release”的依赖项,该依赖项未在项目的描述符中声明:CordovaLib。


无法解析“:@releaseUnitTest/compileClasspath”的依赖关系:无法解析项目:CordovaLib。

无法解析项目:CordovaLib。要求:项目:

项目:声明从配置“releaseCompile”到配置“release”的依赖项,该依赖项未在项目的描述符中声明:CordovaLib。

我真的不知道这意味着什么,谷歌也没有提供任何真正的帮助。我需要在这里做什么?

注意: 发布后发现了这个。在这里转发它以防它会帮助别人。

不要升级到 Android Studio 3

原文由 Bill 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 335
2 个回答

我在 build.gradle 文件中评论了以下行:

 //debugCompile project(path: 'CordovaLib', configuration: 'debug')

//releaseCompile project(path: 'CordovaLib', configuration: 'release')

并补充说:

 compile project(':CordovaLib')

这对我有用。

原文由 Manmohan Pal 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果您使用的是 Cordova build.gradle 是自动生成的,当您下次构建项目时,上面接受的答案中的更改将被覆盖回不起作用的旧答案。

所以编辑 platforms/android/cordova/lib/builder/GradleBuiler.js 注释掉第 136-139 行并添加下一行

/*depsList += '    debugCompile(project(path: "' + libName + '", configuration: "debug"))';
insertExclude(p);
depsList += '    releaseCompile(project(path: "' + libName + '", configuration: "release"))';
insertExclude(p);
    */
    depsList += "    compile project(':CordovaLib')";
    insertExclude(p);

原文由 andymoyle 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题