导入Xerces库时无法构建应用程序(退出值1) [英] Can't build app when I import Xerces library (exit value 1)

查看:225
本文介绍了导入Xerces库时无法构建应用程序(退出值1)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我在Xerces库中导入时,我似乎无法构建我的应用程序。由于之前的问题,我已经在使用multidex,因此我知道这一切都已正确设置。

I cannot seem to get my app to build when I import in the Xerces library. I am already using the multidex due to previous issues and therefore I know this is all setup properly.

我已经花了几天时间在网上寻找各种各样的Xerces的版本和我的build.gradle的调整,但无法解决问题。我已经尝试过清理重建,重新设置Android Studio /我的PC,使用jar直接编译,现在正式没有想法。

I have spend a couple of days now looking online and trying all sorts of versions of Xerces and tweaks to my build.gradle but cannot work out the issue. I have tried cleaning re-building, re-setting Android Studio/my PC, using a jar directly compiling and now officially out of ideas.

下面是我的build.gradle设置:

Below is my build.gradle setup:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "#packageid#"
        minSdkVersion 18
        targetSdkVersion 23
        versionCode 1
        versionName "0.8"
        multiDexEnabled true
    }

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

dependencies {
//    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:support-v4:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'me.dm7.barcodescanner:zbar:1.8.4'
    compile project(':rangebar-1.3')
    compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') {
        transitive = true;
    }
    compile 'com.batch.android:batch-sdk:1.5'
    compile 'xerces:xercesImpl:2.11.0'
//    compile files('libs/xercesImpl-2.9.1.jar')
}

我已经扩展了我的应用程序因此在类中使用了以下内容:

I have also extended my Application already and therefore have used the following within the class:

@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);

    MultiDex.install(this);
}

但是,每次我尝试构建时都会遇到以下错误:

However, every time I try to build I keep getting the following error:

Error:Execution failed for task ':app:transformClassesWithMultidexlistForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 1

下面是我的gradle构建错误日志的结尾部分:

Below is the end part of my gradle build error log:

Reading program jar [C:\Documents\MobileProjects\IA\Android\app\build\intermediates\transforms\jarMerging\debug\jars\1\1f\combined.jar]
Reading library jar [C:\AppData\Local\Android\sdk\build-tools\23.0.2\lib\shrinkedAndroid.jar]
Preparing output jar [C:\Documents\MobileProjects\IA\Android\app\build\intermediates\multi-dex\debug\componentClasses.jar]
  Copying resources from program jar [C:\Documents\MobileProjects\IA\Android\app\build\intermediates\transforms\jarMerging\debug\jars\1\1f\combined.jar]
:app:transformClassesWithMultidexlistForDebug FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesWithMultidexlistForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED


推荐答案

As你试过清理重建,重新设置Android Studio /我的电脑,直接使用jar进行编译,现在我想给你一些建议。希望它可以帮到你。

As you have tried cleaning re-building, re-setting Android Studio/my PC, using a jar directly for compiling, now I want to give you some suggestions. Hope it can help you.

在给出建议之前,我想告诉你先完成这篇文章:使用Gradle为Multidex配置应用程序。然后你可以按照建议。

Before giving suggestion, I want to tell you to go through this article first: Configuring Your App for Multidex with Gradle. Then you can follow the suggestions.

对于gradle bulid,必须遵循

For gradle bulid, it must be followed


         dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
         to pre-dex each module and produce an APK that can be tested on
         Android Lollipop without time consuming dex merging processes.


您已将minSdkVersion用作minSdkVersion 18\" 。所以请更新它。

You have used minSdkVersion as "minSdkVersion 18". So plase update it.

注意:Gradle版本的Android插件低于1.1 ,你需要为multidex-instrumentation添加以下依赖项:

Note: With Android Plugin for Gradle versions lower than 1.1, you need to add the following dependency for multidex-instrumentation:

dependencies {
    androidTestCompile('com.android.support:multidex-instrumentation:1.0.1') {
         exclude group: 'com.android.support', module: 'multidex'
    }
}

注意:目前不支持使用multidex创建测试APK。

Note: Use of multidex for creating a test APK is not currently supported.

您的输入jar包含多个具有相同名称的资源文件。 ProGuard像往常一样继续复制资源文件,跳过以前使用过的名称的所有文件。此外,警告可能表示某些问题,因此建议删除重复项。一种方便的方法是在输入罐上指定过滤器。没有选项可以关闭这些警告。

Your input jars contain multiple resource files with the same name. ProGuard continues copying the resource files as usual, skipping any files with previously used names. Once more, the warning may be an indication of some problem though, so it's advisable to remove the duplicates. A convenient way to do so is by specifying filters on the input jars. There is no option to switch off these warnings.


标准的Android构建过程会自动为您指定输入的
罐子。可能没有一种简单的方法来过滤它们以删除
这些警告。您可以从输入和库中手动删除重复的资源文件

The standard Android build process automatically specifies the input jars for you. There may not be an easy way to filter them to remove these warnings. You could remove the duplicate resource files manually from the input and the libraries.

ProGuard在遇到解析错误时可能会终止或I / O错误,或一些更严重的警告:

ProGuard may terminate when it encounters parsing errors or I/O errors, or some more serious warnings:

问题RAM。我的消息Gradle Build中有类似的消息

Problem RAM. I had similar message in my Messages Gradle Build

错误:任务执行失败':app:dexDebug'。

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

com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:处理'命令'C:\Program Files\Java \ jdk1.8.0_45 \ bin\java.exe''完成非零退出值1
我的笔记本电脑上没有可用内存操作系统Windows 8.1。我关闭了一些我不需要的程序。之后,我有更多的免费RAM,我的项目是在android studio中构建的。

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_45\bin\java.exe'' finished with non-zero exit value 1 I didn't have free RAM on my laptop with the OS windows 8.1. I closed a few programs that I don't need. After that, I had more free RAM and my project was built in android studio.



Suggestion-5:



有些人建议关闭Android Studio并杀死java进程,这个进程非常大(1.2 GB)。然后你可以用gradle运行。它有帮助。

Suggestion-5:

Some people suggested to close Android Studio and kill the java processs, which was very big (1.2 GB). Then you can run with gradle. It helps.

安装最新版本的构建工具。调整 build.gradle 以使用

Install the latest version of the build tools. Adjust your build.gradle to use

`buildToolsVersion "22.0.1"`

它有助于某些情况。

这篇关于导入Xerces库时无法构建应用程序(退出值1)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆