gpt4 book ai didi

android - Android:发行版本因无法计算哈希而失败?

转载 作者:行者123 更新时间:2023-12-03 06:12:25 25 4
gpt4 key购买 nike

我真的不明白我需要做些什么,以使proguard可以减小apk的大小。我发布的应用程序正在使用Google Maps API v2,到目前为止,它可以正常运行,除了当我尝试生成签名的APK时出现此消息。

Error:Execution failed for task ':app:packageRelease'.
> Unable to compute hash of (app path)\app\build\intermediates\classes-proguard\release\classes.jar

如何解决此问题?

Gradle :
apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "21.1.2"

defaultConfig {
applicationId "com.abcd.efgh"
minSdkVersion 11
targetSdkVersion 23
versionCode 2
versionName "1.1"
}

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

dependencies {
compile 'com.android.support:support-v4:23.1.0'
compile 'com.google.android.gms:play-services:8.1.0'
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.google.android.gms:play-services-ads:8.1.0'
compile 'com.google.android.gms:play-services-identity:8.1.0'
compile 'com.google.android.gms:play-services-gcm:8.1.0'
}

proguard-project.txt
-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}

-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}

-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}

-keep public class com.google.android.gms.maps.** { *; }
-keep interface com.google.android.gms.maps.** { *; }
-dontwarn com.google.android.gms.**

最佳答案

我自己修好了。

首先,我来到了gradle并确保在gradle的这一部分中,

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'

第二个文件名与proguard文件相同。

然后,将这些内容添加到proguard文件的顶部:
-dontwarn android.support.v7.**
-keep class android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }
-dontwarn android.support.v4.**
-keep public class com.google.android.gms.* { public *; }
-dontwarn com.google.android.gms.**

最终导致proguard成功创建了发行​​版本。

关于android - Android:发行版本因无法计算哈希而失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33535642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com