【问题标题】:(Proguard) Server Build Error Codename One(Proguard)服务器构建错误代号一
【发布时间】:2018-09-27 20:01:19
【问题描述】:

在我的项目中添加 Android 证书后,Codename One 服务器开始出现问题,然后通过询问 Codename One 支持,他们告诉我这可能与 Proguard 相关,因此在通过设置 @ 禁用 Proguard 后987654322@哪个不推荐吧?因此,在这样做之后,Codename One 服务器构建良好,但我想保持 Proguard 启用,因为它是推荐的,但是当我保持启用它时,Codename One 服务器会出现构建错误,并显示以下错误日志:https://s3.amazonaws.com/codenameone-build-response/d5f3c0c7-71a3-4a17-9f19-1c4e8fb3903d-1523988845519-error.txt

此外,我使用的唯一库是: cn1-codescan.cn1libCN1JSON.cn1libparse4cn1.cn1lib

我是否缺少 Proguard 构建提示?我正在使用以下 Proguard 构建提示:

android.proguardKeep=-keep class com.mypackage.ProblemClass { *; } -keep class android.support.v4.** { *; } -keep class android.support.v7.** { *; } -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.app.Activity -keep public class * extends android.preference.Preference -keep public class com.freshdesk.mobihelp.exception.MobihelpComponentNotFoundException -keepclassmembers class * implements android.os.Parcelable {   public static final android.os.Parcelable$Creator *; }

【问题讨论】:

    标签: parse-platform codenameone parse4cn1


    【解决方案1】:

    您需要将单词ProblemClass 替换为导致问题的类的完整路径...

    这是你写的:

    android.proguardKeep=-keep class com.mypackage.ProblemClass { *; } -keep class android.support.v4.** { *; } -keep class android.support.v7.** { *; } -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.app.Activity -keep public class * extends android.preference.Preference -keep public class com.freshdesk.mobihelp.exception.MobihelpComponentNotFoundException -keepclassmembers class * implements android.os.Parcelable {   public static final android.os.Parcelable$Creator *; }
    

    你应该为com.parse.ParseOkHttpClient写这个:

    android.proguardKeep=-keep class com.parse.ParseOkHttpClient { *; } -keep class android.support.v4.** { *; } -keep class android.support.v7.** { *; } -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.app.Activity -keep public class * extends android.preference.Preference -keep public class com.freshdesk.mobihelp.exception.MobihelpComponentNotFoundException -keepclassmembers class * implements android.os.Parcelable {   public static final android.os.Parcelable$Creator *; }
    

    【讨论】:

    • 已修复但问题依然存在,新的错误日志:s3.amazonaws.com/codenameone-build-response/…
    • 尝试在keep语句中添加-dontwarn okhttp3.**
    • 一些警告消失了,但仍然有一些警告,例如can't find referenced class okio.Okiocan't find referenced class okio.BufferedSink 然后我通过添加-dontwarn okio.** 来修复它,所以它消失了,但问题仍然存在,以及 2留下警告,错误日志:s3.amazonaws.com/codenameone-build-response/… 我害怕构建提示字符限制,因为我只剩下几个字符要添加到构建提示中,所以如果我必须添加一些广泛的内容,我会达到字符限制.
    • 尝试用 -keep class com.parse.** 替换 -keep class com.parse.ParseOkHttpClient { *; } 我认为构建提示没有字符限制
    • 到目前为止没有任何效果,我报告了来自parse4cn1 的错误 自己进行测试,尝试使用以下库构建一个默认项目:cn1-codescan.cn1libCN1JSON.cn1lib,然后添加一个Android 证书到您的项目,CN1 服务器将构建良好!然而,在添加了这个库之后:parse4cn1.cn1lib,它就不再构建了!即使这是一个没有修改的默认项目。我很确定parse4cn1Proguard 有问题,请将此视为报告。构建提示确实有字符限制,请自行查看。等待解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多