gpt4 book ai didi

android - 无法使用 proguard 生成签名的 apk

转载 作者:太空狗 更新时间:2023-10-29 14:46:13 24 4
gpt4 key购买 nike

当我尝试生成启用了 proguard 的签名 apk 时,出现以下错误。

Error:Uncaught translation error: com.android.dx.cf.code.SimException: com.android.dx.rop.cst.CstMethodRef cannot be cast to com.android.dx.rop.cst.CstInterfaceMethodRef
Possible causes for this unexpected error include:<ul><li>Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
<a href="syncProject">Re-download dependencies and sync project (requires network)</a></li><li>The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
<a href="stopGradleDaemons">Stop Gradle build processes (requires restart)</a></li><li>Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.</li></ul>In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

这就是我正在使用/做的:

  1. 安卓工作室 2.2
  2. 播放服务版本 9.6.1
  3. proguard-rules.pro

    • 不要警告 okio。
    • dontwarn retrofit2.Platform$Java8
    • 保留公共(public)类 com.google.android.gms。
    • 不要警告 com.google.android.gms。
    • keepattributes InnerClasses,EnclosingMethod
  4. 渐变(应用程序)

    defaultConfig {
    applicationId "com.something.something"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 3
    versionName "3.0"

    // Enabling multidex support.
    multiDexEnabled true

    testInstrumentationRunner "com.android.test.runner.MultiDexTestRunner"
    }
    buildTypes {
    release {
    minifyEnabled true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    }
    productFlavors {
    }
  5. 我正在使用的库:

    • com.radiusnetworks:proximitykit-android:0.+@aar
    • com.squareup.retrofit2:retrofit:2.0.2
    • com.google.firebase:firebase-messaging:9.6.1

最佳答案

基于此SO answer ,只要您不需要任何特殊的 ProGuard 配置,下面的代码就应该可以工作。

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

If you do, use your original proguardFiles entry and create the file /Users/franek/Documents/Android_Studio_Melange/app/proguard-rules.txt then put your custom rules in this file.

thread也可能有帮助。将以下行添加到 proguard-rules.pro 文件以解决无法使用 Proguard (Minify Enabled = true) 生成签名 APK 的问题。

keep class org.apache.http.**
keep class android.net.http.**
dontwarn com.google.android.gms.**

关于android - 无法使用 proguard 生成签名的 apk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39966339/

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