使用cordova构建android

时间:2018-03-29 08:55:11

标签: android cordova ionic-framework gradle

我有一个离子移动应用程序,我一直在为IOS和android构建它。 但我不得不从我的电脑上删除android studio,然后我重新安装它。 现在,我无法构建android!我收到了这个错误:

  

出了什么问题:评估根项目' android'。

时出现问题      
    

无法应用插件[id' com.android.application']     支持的最低Gradle版本为4.1。目前的版本是3.3。如果使用gradle包装器,请尝试编辑distributionUrl     /Users/lamatatwany/Downloads/wesalApp/gradle/wrapper/gradle-wrapper.properties     to gradle-4.1-all.zip

  

我尝试将gradle版本更改为最新版本并出现另一个错误...

有人可以帮我解决这个问题吗。

Cordova要求输出:

  

android的需求检查结果:Java JDK:已安装1.8.0   Android SDK:安装了真正的Android目标:已安装   android-27,android-26,android-24,android-23 Gradle:已安装   / Applications / Android Studio.app/Contents/gradle/gradle-4.4/bin/gradle

     

ios的要求检查结果:Apple OS X:已安装darwin   Xcode:已安装9.2 ios-deploy:未安装ios-deploy不是   找到。请下载,构建并安装1.9.0或更高版本   从https://github.com/phonegap/ios-deploy进入你的路径,或者做到npm   安装-g ios-deploy' CocoaPods:已安装(节点:39026)   UnhandledPromiseRejectionWarning:未处理的承诺拒绝   (拒绝ID:1):CordovaError:某些要求检查失败   (节点:39026)[DEP0018]弃用警告:未处理的承诺   拒绝拒绝。在未来,承诺拒绝   未处理将以非零退出终止Node.js进程   代码。

当我在GradleBuilder.js中更新这一行时:

  

var distributionUrl =   process.env [' CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] ||   ' HTTPS \://services.gradle.org/distributions/gradle-3.3-all.zip' ;;

到gradle-4.4-all.zip,输出以下错误:

  

在1分13秒内建立失败(节点:39180)UnhandledPromiseRejectionWarning:   未处理的承诺拒绝(拒绝ID:1):错误:   /用户/ lamatatwany /下载/ wesalapp /平台/安卓/ gradlew:   命令失败,退出代码1错误输出:FAILURE:构建失败   除了。

     
      
  • 出了什么问题:无法确定任务的依赖关系:compileDebugJavaWithJavac'。      
        

    无法解析配置':debugCompileClasspath'的所有任务依赖项。     无法解析项目:CordovaLib。      要求:          项目:     Project:声明配置的依赖项' debugCompile'配置'调试'这是没有宣布的     项目描述符:CordovaLib。

      
  •   

Addin android version 7:

  

安装" cordova-plugin-file-transfer"用于Android插件   依赖" cordova-plugin-file@4.3.3"已经取出,使用它   版。依赖插件" cordova-plugin-file"已安装   机器人。安装" cordova-plugin-filepath"用于安装android   "科尔多瓦-插件图像选取器"用于安装android   "科尔多瓦-插件-iroot" for android无法安装   ' cordova-plugin-iroot':错误:ENOENT:没有这样的文件或目录,打开   ' /Users/lamatatwany/Downloads/wesalapp/platforms/android/AndroidManifest.xml'       在Object.fs.openSync(fs.js:646:18)       at Object.fs.readFileSync(fs.js:551:33)       at Object.parseElementtreeSync(/Users/lamatatwany/Downloads/wesalapp/platforms/android/cordova/node_modules/cordova-common/src/util/xml-helpers.js:180:27)       在新的AndroidManifest上(/Users/lamatatwany/Downloads/wesalapp/platforms/android/cordova/lib/AndroidManifest.js:29:20)       在AndroidProject.getPackageName(/Users/lamatatwany/Downloads/wesalapp/platforms/android/cordova/lib/AndroidProject.js:99:12)       在Api.addPlugin(/Users/lamatatwany/Downloads/wesalapp/platforms/android/cordova/Api.js:223:57)       at handleInstall(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:594:10)       at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:357:28       在_fulfilled(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/q/q.js:787:54)       at self.promiseDispatch.done(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/q/q.js:816:30)

2 个答案:

答案 0 :(得分:0)

你的cordova-android版本已经很老了。当前版本为standard compliant。 这经历了许多变化,以处理android项目结构和gradle的变化。

尝试:

ionic cordova platform add android@7.0.0

否则删除平台,然后添加:

return offersList;

public List<Offers> getOffers()

答案 1 :(得分:0)

当我第一次使用ionic Cordova build android在VSC中建立离子项目时,一切正常。但是,在使用Android Studio生成签名的应用程序捆绑包之后,我尝试修改我的项目,进行新的构建,但是出现了该错误:

  

无法应用插件[id'com.android.application']支持的最低Gradle   版本是xxx。当前版本是xxx。如果使用Gradle包装器,请尝试编辑   / Users / lamatatwany / Downloads / wesalApp / gradle / wrapper中的distributionUrl   /gradle->wrapper.properties到Gradle-xx.x-all.zip

找不到解决方案,因此我不得不从头开始重建我的项目(很多复制/粘贴旧项目ofc的形式)。现在,在使用Android Studio生成应用捆绑包之前,我必须做一个备份,以备将来修改之用。