簡體   English   中英

嘗試構建apk-錯誤:任務':app:packageDebug'執行失敗

[英]Trying to build apk - Error:Execution failed for task ':app:packageDebug'

錯誤:任務':app:packageDebug'的執行失敗。 無法創建目錄>> E:\\ workspace_android_studio_SaudeMovel_0_7_0_1 \\ app \\ build \\ outputs \\ apk \\ debug \\ E:\\ workspace_android_studio_SaudeMovel_0_7_0_1 \\ app \\ build \\ outputs \\ apk \\ debug \\ app-debug.ap

我一直在嘗試找出問題並在stackoverflow中閱讀一些問題,但是我無法解決該問題。

此代碼是舊的,而我的android studio是最新的。 將gradle更新為最新版本時,我無法再生成apk(是否已簽名),始終會出現此錯誤,甚至嘗試在社區中放置替代方法也是如此。

我嘗試了所有這些方法,但沒有一個成功。

        if (outputFile != null && outputFile.name.endsWith('.apk')) {
            def fileName = "agente-" + variant.buildType.name + ".apk"
            output.outputFileName = new File(outputFile, fileName)
        }


if (outputFile != null && outputFile.name.endsWith('.apk')) {
                def fileName = outputFile.name.replace('.apk', "-${variant.versionName}.apk")
                output.outputFile = new File(outputFile.parent, fileName)

             output.outputFileName = new File(
                    output.outputFile.parent,
                    output.outputFile.name.replace(".apk", "-${variant.versionName}.apk"))
                    //output.outputFileName = new File(output.outputFile.parent, output.outputFile.name.replace("app-release.apk", "Your_name.apk"))*//*
            }

這是我的禮物:

import java.text.SimpleDateFormat

apply plugin: 'com.android.application'

android {
    signingConfigs {
        debug {
            keyAlias 'debug'
            keyPassword '123456'
            storePassword '123456'
            storeFile file("../keystore_debug.jks")
        }
        config {
            keyAlias 'debug'
            keyPassword '123456'
            storeFile file('../keystore_debug.jks')
            storePassword '123456'
        }
    }
    compileSdkVersion 26
    buildToolsVersion '26.0.2'
    compileOptions.encoding = 'ISO-8859-1'
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
        applicationId "br.com.egoverne.saudemovel"
        minSdkVersion 14
        targetSdkVersion 26
        versionCode 4
        versionName "0.7.0.1"
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7
        }
        multiDexEnabled true
        signingConfig signingConfigs.config
    }
    buildTypes {

        debug {
            debuggable true
            buildConfigField "String", "DOMAIN", '"http://192.168.12.15:8081/"'
            buildConfigField "String", "VERSION_DATE", "\"" + getDateBuild() + "\""
            buildConfigField "String", "EPORTAIS_DOMAIN", '"200.186.92.115:80"'
            buildConfigField "String", "APONTAMENTO_SERVIDOR", '"Debug http://192.168.12.15:8081/"'
           // signingConfig signingConfigs.debug
        }
        debugDevjBoss {
            debuggable true
            buildConfigField "String", "DOMAIN", '"http://192.168.12.15:8082/"'
            buildConfigField "String", "VERSION_DATE", "\"" + getDateBuild() + "\""
            buildConfigField "String", "EPORTAIS_DOMAIN", '"200.186.92.115:80"'
            buildConfigField "String", "APONTAMENTO_SERVIDOR", '"Debug jBoss http://192.168.12.15:8082/"'
            signingConfig signingConfigs.debug
        }

        debugHomologjBoss {
            debuggable true
            buildConfigField "String", "DOMAIN", '"http://10.115.4.74:8081/"'
            buildConfigField "String", "VERSION_DATE", "\"" + getDateBuild() + "\""
            buildConfigField "String", "EPORTAIS_DOMAIN", '"200.186.92.115:80"'
            buildConfigField "String", "APONTAMENTO_SERVIDOR", '"Debug Homolog http://10.115.4.74:8081/"'
            signingConfig signingConfigs.debug
        }
        debugHomologIPjBoss {
            debuggable true
            buildConfigField "String", "DOMAIN", '"http://191.242.241.178:8081/"'
            buildConfigField "String", "VERSION_DATE", "\"" + getDateBuild() + "\""
            buildConfigField "String", "EPORTAIS_DOMAIN", '"200.186.92.115:80"'
            buildConfigField "String", "APONTAMENTO_SERVIDOR", '"Debug Homolog  IP http://191.242.241.178:8081/"'
            signingConfig signingConfigs.debug
        }
        releaseIp {
            debuggable true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            buildConfigField "String", "DOMAIN", '"http://191.242.241.168:8082/"'
            buildConfigField "String", "VERSION_DATE", "\"" + getDateBuild() + "\""
            buildConfigField "String", "EPORTAIS_DOMAIN", '"eportal.osasco.sp.gov.br"'
            buildConfigField "String", "APONTAMENTO_SERVIDOR", '"191.242.241.168:8082"'
            signingConfig signingConfigs.config
        }
        releaseDebug {
            debuggable true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            buildConfigField "String", "DOMAIN", '"http://saudemovelagentews.osasco.sp.gov.br:8082/"'
            buildConfigField "String", "VERSION_DATE", "\"" + getDateBuild() + "\""
            buildConfigField "String", "EPORTAIS_DOMAIN", '"eportal.osasco.sp.gov.br"'
            buildConfigField "String", "APONTAMENTO_SERVIDOR", '"osasco.sp.gov.br"'
            signingConfig signingConfigs.config
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            buildConfigField "String", "DOMAIN", '"http://saudemovelagentews.osasco.sp.gov.br:8082/"'
            buildConfigField "String", "VERSION_DATE", "\"" + getDateBuild() + "\""
            buildConfigField "String", "EPORTAIS_DOMAIN", '"eportal.osasco.sp.gov.br"'
            buildConfigField "String", "APONTAMENTO_SERVIDOR", '"osasco.sp.gov.br"'
            signingConfig signingConfigs.config
        }
    }
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def outputFile = output.outputFile
            if (outputFile != null && outputFile.name.endsWith('.apk')) {
                def fileName = "agente-" + variant.buildType.name + ".apk"
                output.outputFileName = new File(outputFile, fileName)
            }
/*            if (outputFile != null && outputFile.name.endsWith('.apk')) {
                def fileName = outputFile.name.replace('.apk', "-${variant.versionName}.apk")
                output.outputFile = new File(outputFile.parent, fileName)
                */
             /*output.outputFileName = new File(
                    output.outputFile.parent,
                    output.outputFile.name.replace(".apk", "-${variant.versionName}.apk"))
                    //output.outputFileName = new File(output.outputFile.parent, output.outputFile.name.replace("app-release.apk", "Your_name.apk"))*//*
            }*/
        }
    }
    configurations.all {
        resolutionStrategy.eachDependency { DependencyResolveDetails details ->
            def requested = details.requested
            if (requested.group == 'com.android.support') {
                if (!requested.name.startsWith("multidex")) {
                    details.useVersion '26.0.2'
                }
            }
        }
    }
    dexOptions {
        maxProcessCount 4 // this is the default value
        javaMaxHeapSize "2g"
    }
    packagingOptions {
        exclude 'META-INF/DEPENDENCIES.txt'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/dependencies.txt'
        exclude 'META-INF/LGPL2.1'
        pickFirst 'META-INF/license.txt'
        exclude 'META-INF/ASL2.0'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/MANIFEST.MF'
    }
}

dependencies {
    compile files('libs/android-java-air-bridge.jar')
    compile files('libs/commons-collections4-4.0.jar')
    compile files('libs/commons-io-2.4.jar')
    compile files('libs/commons-lang-2.6-javadoc.jar')
    compile files('libs/commons-lang-2.6-sources.jar')
    compile files('libs/commons-lang-2.6.jar')
    compile files('libs/java_websocket.jar')
    compile files('libs/gson-2.8.0.jar')
    compile 'com.google.android.gms:play-services:+'
    compile 'com.android.support:multidex:1.0.0'
    compile 'com.android.support:appcompat-v7:26.0.2'
    compile 'com.android.support:mediarouter-v7:26.0.2'
    compile 'com.android.support:support-v13:26.0.2'
    compile 'com.android.support:design:26.0.2'
    compile 'com.android.support:cardview-v7:26.0.2'
}

def getDateBuild() {
    def df = new SimpleDateFormat("dd/MM/yyyy")
    return df.format(new Date())
}

我正在嘗試調試我的應用程序。

看到這個鏈接

打開app.graddle文件,並在applicationVariants.all ...中替換為:

android.applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "${variant.name}-${variant.versionName}.apk"
    }
}

構建->制作項目

然后生成您的簽名APK

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM