[英]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.