Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
由于输出jar库为空,Android Studio proguardRelease失败_Android_Eclipse_Gradle_Android Studio - Fatal编程技术网

由于输出jar库为空,Android Studio proguardRelease失败

由于输出jar库为空,Android Studio proguardRelease失败,android,eclipse,gradle,android-studio,Android,Eclipse,Gradle,Android Studio,我已经将Eclipse中的一个项目导入到Android Studio 1.0.1中,该项目包含一个Android库项目(RuletaAfortunadaCore)和一个Android项目(RuletaAfortunada),还包含一些第三方库依赖项。在导入过程中,一切似乎都很好,但现在当我尝试构建它时,我从Gradle收到以下错误消息: FAILURE: Build failed with an exception. * What went wrong: Execution failed fo

我已经将Eclipse中的一个项目导入到Android Studio 1.0.1中,该项目包含一个Android库项目(RuletaAfortunadaCore)和一个Android项目(RuletaAfortunada),还包含一些第三方库依赖项。在导入过程中,一切似乎都很好,但现在当我尝试构建它时,我从Gradle收到以下错误消息:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':ruletaAfortunadaCore:proguardRelease'.
> java.io.IOException: The output jar is empty. Did you specify the proper '-keep' options?
从构建过程开始的整个输出:

Executing tasks: [clean, :ruletaAfortunada:compileDebugSources, :facebookSDK:compileDebugSources, :ruletaAfortunadaCore:compileDebugSources]

Configuration on demand is an incubating feature.
:facebookSDK:clean
:ruletaAfortunada:clean UP-TO-DATE
:ruletaAfortunadaCore:clean
:facebookSDK:compileLint
:facebookSDK:copyReleaseLint UP-TO-DATE
:facebookSDK:mergeReleaseProguardFiles UP-TO-DATE
:facebookSDK:preBuild
:facebookSDK:preReleaseBuild
:facebookSDK:checkReleaseManifest
:facebookSDK:prepareReleaseDependencies
:facebookSDK:compileReleaseAidl
:facebookSDK:compileReleaseRenderscript
:facebookSDK:generateReleaseBuildConfig
:facebookSDK:generateReleaseAssets UP-TO-DATE
:facebookSDK:mergeReleaseAssets
:facebookSDK:generateReleaseResValues UP-TO-DATE
:facebookSDK:generateReleaseResources
:facebookSDK:packageReleaseResources
:facebookSDK:processReleaseManifest
:facebookSDK:processReleaseResources
:facebookSDK:generateReleaseSources
:facebookSDK:compileReleaseJava
:facebookSDK:processReleaseJavaRes UP-TO-DATE
:facebookSDK:packageReleaseJar
:facebookSDK:compileReleaseNdk
:facebookSDK:packageReleaseJniLibs UP-TO-DATE
:facebookSDK:packageReleaseLocalJar
:facebookSDK:packageReleaseRenderscript UP-TO-DATE
:facebookSDK:bundleRelease
:ruletaAfortunada:preBuild
:ruletaAfortunada:preDebugBuild
:ruletaAfortunada:checkDebugManifest
:ruletaAfortunada:preReleaseBuild
:ruletaAfortunadaCore:compileLint
:ruletaAfortunadaCore:copyReleaseLint UP-TO-DATE
:ruletaAfortunadaCore:preBuild
:ruletaAfortunadaCore:preReleaseBuild
:ruletaAfortunadaCore:checkReleaseManifest
:ruletaAfortunadaCore:preDebugBuild
:ruletaAfortunadaCore:preDebugTestBuild
:ruletaAfortunadaCore:prepareComAndroidSupportSupportV42100Library
:ruletaAfortunadaCore:prepareComGoogleAndroidGmsPlayServices6587Library
:ruletaAfortunadaCore:prepareRuletaAfortunadaFacebookSDKUnspecifiedLibrary
:ruletaAfortunadaCore:prepareReleaseDependencies
:ruletaAfortunadaCore:compileReleaseAidl
:ruletaAfortunadaCore:compileReleaseRenderscript
:ruletaAfortunadaCore:generateReleaseBuildConfig
:ruletaAfortunadaCore:generateReleaseAssets UP-TO-DATE
:ruletaAfortunadaCore:mergeReleaseAssets
:ruletaAfortunadaCore:generateReleaseResValues UP-TO-DATE
:ruletaAfortunadaCore:generateReleaseResources
:ruletaAfortunadaCore:mergeReleaseResources
:ruletaAfortunadaCore:processReleaseManifest
:ruletaAfortunadaCore:processReleaseResources
:ruletaAfortunadaCore:generateReleaseSources
:ruletaAfortunadaCore:compileReleaseJava
:ruletaAfortunadaCore:extractReleaseAnnotations
:ruletaAfortunadaCore:mergeReleaseProguardFiles UP-TO-DATE
:ruletaAfortunadaCore:compileReleaseNdk
:ruletaAfortunadaCore:packageReleaseJniLibs UP-TO-DATE
:ruletaAfortunadaCore:packageReleaseRenderscript UP-TO-DATE
:ruletaAfortunadaCore:packageReleaseResources
:ruletaAfortunadaCore:proguardRelease FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':ruletaAfortunadaCore:proguardRelease'.
> java.io.IOException: The output jar is empty. Did you specify the proper '-keep' options?
该库项目的build.gradle文件的内容:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 13
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 17
    }

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

dependencies {
    compile project(':facebookSDK')
    compile 'com.android.support:support-v4:18.0.0'
    compile 'com.google.code.gson:gson:2.2.4'
    compile 'com.google.android.gms:play-services:+'
    compile files('libs/chartboost.jar')
    compile files('libs/mint-4.0.7.jar')
}
更新:我意识到名为RuletaAfortunadaCore的Android库项目可以作为一个独立项目构建,也可以作为一个模块构建,没有任何问题。它只是在构建使用它的整个RuletaAfortunada Android项目时失败

我认为,这种Android项目的build.gradle文件是由Android Studio创建的默认文件,所以里面没有什么有趣的东西。无论如何,在这里,以防万一:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}
这是settings.gradle:

include ':facebookSDK'
include ':ruletaAfortunadaCore'
include ':ruletaAfortunada'
最后,为了拥有所有这些功能,这是facebookSDK模块build.gradle:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 9
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 9
    }

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

dependencies {
    compile 'com.android.support:support-v4:18.0.0'
    compile files('libs/bolts-android-1.1.2.jar')
}

我在这里找到了一些有用的信息: 一个显著的区别是runProguard被更改为minifyEnabled。
但是,在完成本迁移主题中的步骤后,我仍然会遇到相同的生成错误。

正如一个人所建议的,答案现在似乎已经消失了:-?,我的解决方案是在我的库项目的build.gradle中将minifyEnabled设置为false。就我将Android项目本身设置为true而言,proguard仍将执行,错误已消失。

您使用的是哪一版本的Android Studio?可能是@shkschneider的重复版本,这不是因为我在升级我的As(Android Studio)后遇到同样的问题@Fran你能给我们看一些你的主要
-保留你的proguard文件的
?我在这里确认同样的问题-Android Studio最近的一些变化?对我来说也没用。事实上,我已经从Eclipse重新导入了这个项目,看看它是否有效,因为我还没有对它做任何更改,同样的问题也存在。对我有效的解决方案是不要混淆库项目中的库(“minifyEnabled false”),而是让应用程序项目进行混淆。遗憾的是,我的答案(你选择的是一个好答案)被一位主持人删除了,尽管我要求解释,但我不知道为什么。