android - 签名打包混淆的问题
PHP中文网
PHP中文网 2017-04-17 17:12:51
[Android讨论组]

混淆带签名打包出错
Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.

java.io.IOException: Please correct the above warnings first.

这是混淆文件proguard-rules.pro

---------------------------------基本指令区----------------------------------

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-verbose
-printmapping proguardMapping.txt
-optimizations !code/simplification/cast,!field/,!class/merging/
-keepattributes Annotation,InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable

----------------------------------------------------------------------------

---------------------------------默认保留区---------------------------------

-keep public class * extends android.app.Activity

-keep public class * extends android.app.Appliction

-keep public class * extends android.app.Service

-keep public class * extends android.content.BroadcastReceiver

-keep public class * extends android.content.ContentProvider

-keep public class * extends android.app.backup.BackupAgentHelper

-keep public class * extends android.preference.Preference

-keep public class * extends android.view.View

-keep public class com.android.vending.licensing.ILicensingService

-keep class android.support.* {;}

-keepclasseswithmembernames class * {

native <methods>;

}
-keepclassmembers class * extends android.app.Activity{

public void *(android.view.View);

}
-keepclassmembers enum * {

public static **[] values();
public static ** valueOf(java.lang.String);

}
-keep public class * extends android.view.View{

*** get*();
void set*(***);
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);

}
-keepclasseswithmembers class * {

public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);

}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-keepclassmembers class * implements java.io.Serializable {

static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();

}
-keep class *.R$ {
*;
}
-keepclassmembers class * {

void *(**On*Event);

}

----------------------------------------------------------------------------

---------------------------------webview------------------------------------

-keepclassmembers class fqcn.of.javascript.interface.for.webview {
public *;
}
-keepclassmembers class * extends android.webkit.webViewClient {

public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
public boolean *(android.webkit.WebView, java.lang.String);

}
-keepclassmembers class * extends android.webkit.webViewClient {

public void *(android.webkit.webView, jav.lang.String);

}

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(2)
伊谢尔伦

将提示警告的内容进行保留,我之前打包混淆也遇到过这种问题的!上面的混淆好像没有看见你混淆第三方包!

迷茫

-dontwarn com.xxx.**
xxx表示忽略警告的包名,你这样试试。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号