草庐IT

android - gradle 以非零退出值 3 结束

coder 2023-11-28 原文

我的项目包含 3 个库:calendar_cmccWheel_libraryyellowPage_lib

我可以完美地构建项目,但是当我运行它时,gradle 会抛出一个错误。错误如下:

Error:Execution failed for task ':app:dexDebug'.

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/home/jim/tools/jdk1.8.0_45/bin/java'' finished with non-zero exit value 3

gradle文件列表:

应用的 build.gradle:

apply plugin: 'com.android.application'

        android {

            compileSdkVersion 21
            buildToolsVersion '21.1.2'

            defaultConfig {
                applicationId "cn.com.geartech.app"
                minSdkVersion 17
                targetSdkVersion 19
                versionCode 100 //from 20 to 21
                //cmcc0000522 is 26
                //0608 is
                // 27
                //0615 is 27
                //0616 is 27
                //1.2.20 36
                versionName "1.2.26.10"
                multiDexEnabled = true
            }
            buildTypes {
                release {
                    minifyEnabled false
                    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                }

                debug {
                    signingConfig signingConfigs.deb
                }
            }
            packagingOptions {
                exclude 'META-INF/DEPENDENCIES'
                exclude 'META-INF/NOTICE'
                exclude 'META-INF/LICENSE'
                exclude 'META-INF/LICENSE.txt'
                exclude 'META-INF/NOTICE.txt'
                exclude 'META-INF/ASL2.0'
            }
            sourceSets {
                main {
                    jniLibs.srcDir 'src/main/libs'
                }
            }
            compileOptions {
                sourceCompatibility JavaVersion.VERSION_1_7
                targetCompatibility JavaVersion.VERSION_1_7
            }
        }

        dependencies {
            compile 'com.android.support:support-v4:20.+'
            compile 'com.android.support:recyclerview-v7:21.0.0'
            compile 'com.daimajia.swipelayout:library:1.2.0@aar'
            compile 'jp.wasabeef:recyclerview-animators:1.0.3@aar'
            compile fileTree(include: ['*.jar'], dir: 'libs')
            compile files('src/main/libs/commons-io-2.4.jar')
            compile files('src/main/libs/httpmime-4.1.1.jar')
            compile files('src/main/libs/pinyin4j-2.5.0.jar')
            compile files('src/main/libs/universal-image-loader-1.9.3-with-sources.jar')
            compile files('src/main/libs/zxing.jar')
            compile 'com.sothree.slidinguppanel:library:3.0.0'
            compile files('src/main/libs/cmcc-sso-sdk.jar')
            compile files('src/main/libs/cmcc-sso.jar')
            compile files('src/main/libs/cmcc_enc.jar')
            compile files('src/main/libs/AOE_20140617_001.jar')
            compile files('src/main/libs/sync_sdk_ydyjyxgh_20150304.jar')
            compile files('src/main/libs/fastjson-1.2.5.jar')
            compile project(':yellowPage_lib')
            compile project(':Wheel_library')
            compile project(':calendar_cmcc')
            compile files('src/main/libs/pinyin4j.jar')
            compile files('src/main/libs/gcordSDK.jar')
        }

calendar_cmcc的build.gradle:

apply plugin: 'com.android.library'

    android {
        compileSdkVersion 21
        buildToolsVersion "21.1.2"

        defaultConfig {
            minSdkVersion 17
            targetSdkVersion 17
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
        productFlavors {
        }
        lintOptions {
            abortOnError false
        }
        packagingOptions {
            exclude 'META-INF/LICENSE.txt'
            exclude 'META-INF/NOTICE.txt'
        }
    }
    configurations.all {
        exclude module: 'commons-logging'
    }
    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        compile 'commons-lang:commons-lang:2.6'
        compile 'commons-io:commons-io:2.4'
        compile 'org.projectlombok:lombok:1.14.8'
        compile 'org.mnode.ical4j:ical4j:1.0.6'
        compile('com.googlecode.ez-vcard:ez-vcard:0.9.6') {
            exclude group: 'org.jsoup', module: 'jsoup'
            exclude group: 'org.freemarker', module: 'freemarker'
            exclude group: 'com.fasterxml.jackson.core', module: 'jackson-core'
        }
        compile 'dnsjava:dnsjava:2.1.6'
        compile files('lib/httpclient-android-4.3.5.2-davdroid1.jar')
        compile('org.simpleframework:simple-xml:2.7.1') {
            exclude group: 'stax', module: 'stax-api'
            exclude group: 'xpp3', module: 'xpp3'
        }
        compile 'com.android.support:appcompat-v7:18.0.0'
        compile files('libs/android-common-chips.jar')
        compile files('libs/android-common.jar')
        compile files('libs/calendar-common.jar')
    }

Wheel_library 的 build.gradle:

    apply plugin: 'com.android.library'
    android {
        compileSdkVersion 21
        buildToolsVersion '21.1.2'

        defaultConfig {
            minSdkVersion 17
            targetSdkVersion 19
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

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

yellowPage_lib的build.gradle:

        apply plugin: 'com.android.library'

        android {
            compileSdkVersion 21
            buildToolsVersion '21.1.2'

            defaultConfig {
                minSdkVersion 8
                targetSdkVersion 19
            }

            buildTypes {
                release {
                    minifyEnabled false
                    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
                }
            }
        }

        dependencies {
            compile 'com.android.support:support-v4:19.+'
            compile files('libs/BaiduLBS_Android.jar')
            compile files('libs/YellowPage_SDK.jar')
        }

现在,我只知道错误是由 calendar_cmcc 的 build.gradle 文件引起的。当我将“编译”更改为“提供”来自 calendar_cmcc 的 构建的依赖项时.gradle,它运行良好。

dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        compile 'commons-lang:commons-lang:2.6'
        compile 'commons-io:commons-io:2.4'
        compile 'org.projectlombok:lombok:1.14.8'
        compile 'org.mnode.ical4j:ical4j:1.0.6'
        compile('com.googlecode.ez-vcard:ez-vcard:0.9.6') {
            exclude group: 'org.jsoup', module: 'jsoup'
            exclude group: 'org.freemarker', module: 'freemarker'
            exclude group: 'com.fasterxml.jackson.core', module: 'jackson-core'
        }
        compile 'dnsjava:dnsjava:2.1.6'
        compile files('lib/httpclient-android-4.3.5.2-davdroid1.jar')
        compile('org.simpleframework:simple-xml:2.7.1') {
            exclude group: 'stax', module: 'stax-api'
            exclude group: 'xpp3', module: 'xpp3'
        }
        compile 'com.android.support:appcompat-v7:18.0.0'
        compile files('libs/android-common-chips.jar')
        compile files('libs/android-common.jar')
        compile files('libs/calendar-common.jar')
    }

改为

dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        compile 'commons-lang:commons-lang:2.6'
        compile 'commons-io:commons-io:2.4'
        provided 'org.projectlombok:lombok:1.14.8'
        provided 'org.mnode.ical4j:ical4j:1.0.6'
        provided ('com.googlecode.ez-vcard:ez-vcard:0.9.6') {
            exclude group: 'org.jsoup', module: 'jsoup'
            exclude group: 'org.freemarker', module: 'freemarker'
            exclude group: 'com.fasterxml.jackson.core', module: 'jackson-core'
        }
        compile 'dnsjava:dnsjava:2.1.6'
        compile files('lib/httpclient-android-4.3.5.2-davdroid1.jar')
        compile('org.simpleframework:simple-xml:2.7.1') {
            exclude group: 'stax', module: 'stax-api'
            exclude group: 'xpp3', module: 'xpp3'
        }
        compile 'com.android.support:appcompat-v7:18.0.0'
        compile files('libs/android-common-chips.jar')
        compile files('libs/android-common.jar')
        compile files('libs/calendar-common.jar')
    }

但是会导致另一个错误:

07-24 15:54:41.991   32166-1373/cn.com.geartech.app E/dalvikvm﹕ Could not find class 'net.fortuna.ical4j.model.DefaultTimeZoneRegistryFactory', referenced from method at.bitfire.davdroid.resource.Event.<clinit>
    07-24 15:54:42.001   32166-1373/cn.com.geartech.app E/dalvikvm﹕ Could not find class 'net.fortuna.ical4j.data.CalendarBuilder', referenced from method at.bitfire.davdroid.resource.Event.TimezoneDefToTzId
    07-24 15:54:42.021   32166-1373/cn.com.geartech.app E/dalvikvm﹕ Could not find class 'net.fortuna.ical4j.util.UidGenerator', referenced from method at.bitfire.davdroid.resource.Event.generateUID
    07-24 15:54:42.061   32166-1373/cn.com.geartech.app E/dalvikvm﹕ Could not find class 'net.fortuna.ical4j.data.CalendarBuilder', referenced from method at.bitfire.davdroid.resource.Event.parseEntity

gradle 构建时,org.mnode.ical4j 似乎无法打包到apk 中。

我在stackoverflow上找了好几天的答案,还是不行。 那么,我该怎么办?求助!谢谢!

最佳答案

我把jim.zhang的回答转贴在这里: (因为第一次看这个问题,错过了张老师的评论)

在build.gradle文件中添加如下配置

dexOptions {
    javaMaxHeapSize "4g"
}

关于android - gradle 以非零退出值 3 结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31605291/

有关android - gradle 以非零退出值 3 结束的更多相关文章

  1. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  2. ruby - 在 ruby​​ 中生成一个进程,捕获 stdout,stderr,获取退出状态 - 2

    我想从ruby​​rake脚本运行一个可执行文件,比如foo.exe我希望将foo.exe的STDOUT和STDERR输出直接写入我正在运行rake任务的控制台.当进程完成时,我想将退出代码捕获到一个变量中。我如何实现这一目标?我一直在玩backticks、process.spawn、system但我无法获得我想要的所有行为,只有部分更新:我在Windows上,在标准命令提示符下,而不是cygwin 最佳答案 system获取您想要的STDOUT行为。它还返回true作为零退出代码,这可能很有用。$?填充了有关最后一次system调

  3. ruby - 如果满足给定条件,则结束 ruby​​ 程序 - 2

    基本上,我只是试图在满足特定条件时停止程序运行其余行。unlessraw_information.firstputs"Noresultswerereturnedforthatquery"breakend然而,在程序运行之前我得到了这个错误:Invalidbreakcompileerror(SyntaxError)执行此操作的正确方法是什么? 最佳答案 abort("Noresultswerereturnedforthatquery")unlesscondition或unlessconditionabort("Noresultswer

  4. ruby-on-rails - Ruby/Rails 中的夏令时开始和结束日期 - 2

    我正在开发一个Rails应用程序,我需要在其中找到给定特定偏移量或时区的夏令时开始和结束日期。我基本上在我的数据库中保存了从用户浏览器接收到的时区偏移量(“+3”,“-5”),我想在它出现时修改它由于夏令时的变化。我知道Time实例变量有dst?和isdst方法,如果存储在它们中的日期在夏令时与否。>Time.new.isdst=>true但是使用它来查找夏令时的开始和结束日期会占用太多资源,而且我还必须为我拥有的每个时区偏移量执行此操作。我想知道更好的方法。 最佳答案 好的,基于你所说的和@dhouty'sanswer:您希望能够

  5. ruby - 如何在 watir 测试套件结束时关闭浏览器? - 2

    使用ruby​​的watir测试网络应用程序时,浏览器最后会保持打开状态。网上的一些建议是,要进行真正的单元测试,您应该在每次测试时(在拆卸调用中)打开和关闭浏览器,但这很慢而且毫无意义。或者他们做这样的事情:defself.suites=superdefs.afterClass#Closebrowserenddefs.run(*args)superafterClassendsend但这会导致摘要输出不再显示(诸如“100次测试、100次断言、0次失败、0次错误”之类的内容仍应显示)。我怎样才能让ruby​​或watir在我的测试结束时关闭浏览器? 最佳答案

  6. ruby - 从结束值创建一系列字符串 - 2

    我使用irb。下面是我写的代码。“斧头”..“bc”我期待"ax""ay""az""ba"bb""bc"但结果只是“斧头”..“bc”我该如何纠正?谢谢。 最佳答案 >puts("ax".."bc").to_aaxayazbabbbc 关于ruby-从结束值创建一系列字符串,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7617092/

  7. ruby - 如何在 vim 中删除 ruby​​ 周围的 block (做/结束) - 2

    如何用vim删除ruby中do/end分隔的环绕block例如(10..20).mapdo|i|(1..10).mapdo|j|pjendend我想做一些类似dsb的事情(删除环绕block)并得到(1..10).mapdo|j|pjend 最佳答案 也许你可以制作nnormap。每个end/do对都在同一个缩进上,所以首先你应该找到对缩进-在这种情况下,下一行相同的缩进(因为你的光标在do行。)所以你可以让vimscript函数找到下一个缩进线并删除它。这是函数的一个例子。您可以自定义您想要的-即)为休息行设置缩进。functio

  8. ruby - 以非 root 用户身份从 ruby​​ 在 Xvfb 中运行 Selenium::WebDriver::Firefox - 2

    我正在尝试使用ruby​​脚本进行一些headless测试。本质上,我在显示器:1上执行Xvfb,然后使用watir-webdriver启动Watir::Browser.new(:firefox)。如果您以root身份运行脚本,效果会很好-我可以运行x11vnc并观察脚本执行浏览器并与之交互。问题是,我需要能够从Rails应用程序调用这个ruby​​脚本,而不是以root身份运行它...如果我尝试以普通用户身份从命令行运行脚本,Xvfb会启动on:1像往常一样,但Watir不会启动浏览器......它最终会在60秒后超时。通过VNC连接会显示带有鼠标光标的黑屏。我可以从命令行完成所有操

  9. ruby-on-rails - 如何在不退出 IRB session 的情况下退出调试器? - 2

    这是一个长期存在的挫败感来源,但也许我遗漏了什么。如果我正在调试,并且我想退出调试器并返回到IRB或Rails控制台,“退出”将不起作用,因为它将退出IRB。“完成”似乎也与继续具有相同的效果。使用“删除”删除断点然后尝试“继续”或“完成”不起作用。有什么想法吗? 最佳答案 至少在byebug中,你可以这样做:evalreturn它具有计算当前函数的return语句的净效果。这有时会奏效,具体取决于调用堆栈的外观。现在虽然这不会删除当前断点....如果您只是想收回控制权,在大多数情况下这会做到这一点,具体取决于您的代码结构。在您的代

  10. ruby - Thin::Server#daemonize 立即退出 - 2

    我试图制作一个可执行文件,它通过Thin作为守护进程启动Sinatra应用程序。我正在使用此代码通过Sinatra应用程序调用Thin:#!/usr/bin/envrubyrequire'thin'require'app.rb'server=::Thin::Server.new('127.0.0.1',9999,App)server.log_file='tmp/thin.log'server.pid_file='tmp/thin.pid'server.daemonize这是我执行脚本时得到的日志输出:>>WritingPIDtotmp/thin.pid>>Exiting!服务器正常启动

随机推荐