问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

android studio 代码混淆错误

发布网友 发布时间:2022-04-30 16:07

我来回答

5个回答

热心网友 时间:2022-06-27 01:59

1,androidstudio1.3之后的版本就没有GenerateSignedAPK—RunProGuard这个选项了!要在build.grandle把minifyEnabled改成Ture就可以了!minifyEnabledtrue下面是我使用的代码:#指定代码的压缩级别-optimizationpasses5#包明不混合大小写-dontusemixedcaseclassnames#不去忽略非公共的库类-dontskipnonpubliclibraryclasses#优化不优化输入的类文件-dontoptimize#预校验-dontpreverify#混淆时是否记录日志-verbose#混淆时所采用的算法-optimizations!code/simplification/arithmetic,!field/*,!class/merging/*#保护注解-keepattributes*Annotation*#保持哪些类不被混淆#-keeppublicclass*extendsandroid.app.Fragment#如果有引用v4包可以添加下面这行-keeppublicclass*extendsandroid.support.v4.app.Fragment#忽略警告-ignorewarning#####################记录生成的日志数据,gradlebuild时在本项目根目录输出#################apk包内所有class的内部结构-mpclass_files.txt#未混淆的类和成员-printseedsseeds.txt#列出从apk中删除的代码-printusageunused.txt#混淆前后的映射-printmappingmapping.txt#####################记录生成的日志数据,gradlebuild时在本项目根目录输出-end################################混淆保护自己项目的部分代码以及引用的第三方jar包library##########################-libraryjarslibs/xUtils-2.6.14.jar#-libraryjarslibs/alipaysdk.jar#-libraryjarslibs/alipaysecsdk.jar#-libraryjarslibs/alipayutdid.jar#-libraryjarslibs/wup-1.0.0-SNAPSHOT.jar#-libraryjarslibs/weibosdkcore.jar#三星应用市场需要添加:sdk-v1.0.0.jar,look-v1.0.1.jar#-libraryjarslibs/sdk-v1.0.0.jar#-libraryjarslibs/look-v1.0.1.jar#我是以libaray的形式引用了一个图片加载框架,如果不想混淆keep掉-keepclasscom.nostra13.universalimageloader.**{*;}#忽略警告-dontwarncom.veidy.mobile.common.**#保留一个完整的包-keepclasscom.veidy.mobile.common.**{*;}#如果引用了v4或者v7包-dontwarnandroid.support.**############混淆保护自己项目的部分代码以及引用的第三方jar包library-end###################-keeppublicclass*extendsandroid.view.View{#public(android.content.Context);#public(android.content.Context,android.util.AttributeSet);#public(android.content.Context,android.util.AttributeSet,int);#publicvoidset*();#}#保持native方法不被混淆-keepclasseswithmembernamesclass*{native;}#保持自定义控件类不被混淆#-keepclasseswithmembersclass*{#public(android.content.Context,android.util.AttributeSet);#}#保持自定义控件类不被混淆#-keepclasseswithmembersclass*{#public(android.content.Context,android.util.AttributeSet,int);#}#保持自定义控件类不被混淆#-keepclassmembersclass*extendsandroid.app.Activity{#publicvoid*(android.view.View);#}#保持Parcelable不被混淆-keepclass*implementsandroid.os.Parcelable{publicstaticfinalandroid.os.Parcelable$Creator*;}#保持Serializable不被混淆-keepnamesclass*implementsjava.io.Serializable#保持Serializable不被混淆并且enum类也不被混淆-keepclassmembersclass*implementsjava.io.Serializable{staticfinallongserialVersionUID;privatestaticfinaljava.io.ObjectStreamField[]serialPersistentFields;!static!transient;!private;!private;privatevoidwriteObject(java.io.ObjectOutputStream);privatevoidreadObject(java.io.ObjectInputStream);java.lang.ObjectwriteReplace();java.lang.ObjectreadResolve();}#保持枚举enum类不被混淆如果混淆报错,建议直接使用上面的-keepclassmembersclass*implementsjava.io.Serializable即可#-keepclassmembersenum*{#publicstatic**[]values();#publicstatic**valueOf(java.lang.String);#}-keepclassmembersclass*{publicvoid*ButtonClicked(android.view.View);}#不混淆资源类-keepclassmembersclass**.R$*{publicstatic;}#避免混淆泛型如果混淆报错建议关掉#–keepattributesSignature#移除log测试了下没有用还是建议自己定义一个开关控制是否输出日志-assumenosideeffectsclassandroid.util.Log{publicstaticbooleanisLoggable(java.lang.String,int);publicstaticintv();publicstaticinti();publicstaticintw();publicstaticintd();publicstaticinte();}

热心网友 时间:2022-06-27 01:59

1,在build.grandle添加,其中规则写在proguard-rules.pro中,也可以自定义一个文件,将其代替,比如eclipse常用的proguard-project.txtbuildTypes{release{signingConfigsigningConfigs.releaseminifyEnabledtrueproguardFilesgetDefaultProguardFile(‘proguard-android.txt‘),‘proguard-rules.pro‘}}2,在proguard-rules.pro中加入以下代码,基本可以涵盖所有-optimizationpasses5#指定代码的压缩级别-dontusemixedcaseclassnames#是否使用大小写混合-dontpreverify#混淆时是否做预校验-verbose#混淆时是否记录日志-optimizations!code/simplification/arithmetic,!field/*,!class/merging/*#混淆时所采用的算法-keeppublicclass*extendsandroid.app.Activity#保持哪些类不被混淆-keeppublicclass*extendsandroid.app.Application#保持哪些类不被混淆-keeppublicclass*extendsandroid.app.Service#保持哪些类不被混淆-keeppublicclass*extendsandroid.content.BroadcastReceiver#保持哪些类不被混淆-keeppublicclass*extendsandroid.content.ContentProvider#保持哪些类不被混淆-keeppublicclass*extendsandroid.app.backup.BackupAgentHelper#保持哪些类不被混淆-keeppublicclass*extendsandroid.preference.Preference#保持哪些类不被混淆-keepclasseswithmembernamesclass*{#保持native方法不被混淆native;}-keepclasseswithmembersclass*{#保持自定义控件类不被混淆public(android.content.Context,android.util.AttributeSet);}-keepclasseswithmembersclass*{#保持自定义控件类不被混淆public(android.content.Context,android.util.AttributeSet,int);}-keepclassmembersclass*extendsandroid.app.Activity{#保持自定义控件类不被混淆publicvoid*(android.view.View);}-keepclassmembersenum*{#保持枚举enum类不被混淆publicstatic**[]values();publicstatic**valueOf(java.lang.String);}-keepclass*implementsandroid.os.Parcelable{#保持Parcelable不被混淆publicstaticfinalandroid.os.Parcelable$Creator*;}

热心网友 时间:2022-06-27 02:00

吾正好碰到此问题,经过一番搜索,在stackoverflow找到一个牛人的办法,顺利解决。希望能对各位有所帮助:
修改proguard-project.txt,增加以下内容:
#### -- Picasso --
-dontwarn com.squareup.picasso.**

#### -- OkHttp --
-dontwarn com.squareup.okhttp.internal.**

#### -- Apache Commons --
-dontwarn org.apache.commons.logging.**

-ignorewarnings
-keep class * {
public private *;
}

热心网友 时间:2022-06-27 02:00

我也遇到此问题了,试了一下,我的app文件夹下不是proguard-rules.txt文件,是proguard-rules.pro,所以在build.gradle里面把txt改成pro,竟然就可以了。也不知道是不是新版本的问题

热心网友 时间:2022-06-27 02:01

MD,我也遇到这个问题了,你的解决没有?追问无意间结局了此问题

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
iPhone XR电量百分比怎么设置 Django如何使用网页嵌套网页(2023年最新解答) 社保之前工作缴了 后面工作不缴。自己要怎么续上?自己缴要缴多少?每... 壁挂炉数字不亮了怎么回事了解壁挂炉数字不亮的原因及解决方法_百度知 ... 单反长镜头和短镜头什么区别 ai的剪切蒙版快捷键是什么 自学当程序员需要哪些基础 程序员,需要学什么课程 想当一名出色的程序员数学必须要很好吗 华为路由器192.168.1.1怎样设置? 关于Android studio 怎么使用代码混淆的问题 Android-android 怎么实现只混淆自己的代码,而不混淆第3方jar包_百度... seetong监控怎么注销账号 这本书怎么写读后感 2万内的,皮带的女士手表求推荐 android代码混淆以及怎么判断一个apk代码是否被混淆过 哪本书读后感好写,就是感悟特多的那种。 职业药师在什么时间报名,需要什么证件 如何混淆android代码以及注意事项 稻草人这本书的读后感 我想买一个2万左右的女士手表,帮忙说一下 《人生》这本书怎么样,《人生》读后感 药剂师需要什么条件才能考 欢喜自在这本书的读后感 2万左右的女士手表,选哪个牌子,哪款好些 读一本好书的心得体会,需要二千字的文章如钢铁是怎样炼成的这本书的读后感 专业网贷技术哪里有 分享《中国活法》读后感吧 中国人事考试网2017年执业药师考试报考条件有哪些要求 读完一本书的读后感 萤石云摄像头怎么删除原账号 监控摄像头不用了如何注销 android如何将混淆代码还原? 爱维宝贝监控机如何注销掉之前帐户 Android如何保持指定类不被混淆? 请问在房管局申请注销监控账户时需要提交什么资料。最好有一份资料清单,谢谢。 摄像头用户怎么注销? android中哪些东西不能做代码混淆 android代码混淆时,如何防止第三方jar包被 监控摄像头注销帐户就是解绑吗? 监控器账户注销了怎么恢复? 开发商监控账户在什么情况下可以取消? 一个人没有固定的朋友,是自己的问题吗? 如果一个人没有朋友,正常吗 怎么注销萤石云原账号? 一个人混到最后发现,自己没有一个朋友,到底正不正常? 大拿监控手机怎么注销用户? 一个人好朋友很少正常吗?为什么? 一个朋友都没有,这是年轻人的正常现象吗? 我没有朋友,正常吗?