android混淆Android 混淆出问题了,求教

android混淆  时间:2021-07-20  阅读:()

Android-android 怎么实现只混淆自己的代码,而不混淆第3方jar包

当项目中有第3方jar包时,怎么实现混淆打包,而不对第3方包混淆 在项目中有第3方包时打包出错日志: [2012-06-14 14:14:28 - ] Proguard returned with error code 1. See console [2012-06-14 14:14:28 - ] Note: there were 2068 duplicate class definitions. [2012-06-14 14:14:28 - ] Warning:.apache.harmony.awt.datatransfer.DataProxy: can't find superclass or interface java.awt.datatransfer.Transferable [2012-06-14 14:14:28 - ] Warning:.apache.harmony.awt.datatransfer.NativeClipboard: can't find superclass or interface java.awt.datatransfer.Clipboard [2012-06-14 14:14:28 - ] Warning: javax.activation.CommandInfo: can't find referenced class java.beans.Beans [2012-06-14 14:14:28 - ] Warning: javax.activation.CommandInfo: can't find referenced class java.beans.Beans [2012-06-14 14:14:28 - ] Warning:.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.SaslException [2012-06-14 14:14:28 - ] Warning:.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.SaslException [2012-06-14 14:14:28 - ] Warning:.apache.harmony.awt.datatransfer.DataSource: can't find referenced class java.awt.datatransfer.DataFlavor [2012-06-14 14:14:28 - ] Warning:.apache.harmony.awt.datatransfer.DataSource: can't find referenced class java.awt.datatransfer.DataFlavor ………………………………………………………………………………中间部分省略 [2012-06-14 14:14:28 - ] Warning:.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.Toolkit [2012-06-14 14:14:28 - ] Warning:.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.Toolkit [2012-06-14 14:14:28 - ] Warning:.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.GraphicsEnvironment [2012-06-14 14:14:28 - ] Warning:.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.GraphicsEnvironment [2012-06-14 14:14:28 - ] Warning:.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.GraphicsEnvironment [2012-06-14 14:14:28 - ] Warning:.apache.harmony.awt.datatransfer.NativeClipboard: can't find referenced class java.awt.datatransfer.Clipboard [2012-06-14 14:14:28 - ] Warning:.apache.harmony.awt.datatransfer.NativeClipboard: can't find referenced class java.awt.datatransfer.Clipboard [2012-06-14 14:14:28 - ] Warning: there were 288 unresolved references to classes or interfaces. [2012-06-14 14:14:28 - ] You may need to specify additional library jars (using '-libraryjars'), [2012-06-14 14:14:28 - ] or perhaps the '-dontskipnonpubliclibraryclasses' option. [2012-06-14 14:14:28 - ] java.io.IOException: Please correct the above warnings first. [2012-06-14 14:14:28 - ] at proguard.Initializer.execute(Initializer.java:308) [2012-06-14 14:14:28 - ] at proguard.ProGuard.initialize(ProGuard.java:210) [2012-06-14 14:14:28 - ] at proguard.ProGuard.execute(ProGuard.java:85) [2012-06-14 14:14:28 - ] at proguard.ProGuard.main(ProGuard.java:499) 我的proguard.cfg 文件时这样的 -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -verbose -ignorewarnings -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -libraryjars libs/bcprov-jdk15on-147.jar -libraryjars libs/PanoramaGL.jar -libraryjars libs/activation.jar -libraryjars libs/additionnal.jar -libraryjars libs/mail.jar -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -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 .android.vending.licensing.ILicensingService -keepclasseswithmembernames class * { native <methods>; } -keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet); } -keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet, int); } -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } 已经尝试的方案:方案一: 加入-ignorewarnings 可以正常打包了。

能过滤掉警告信息。

但是治标不治本,打好的包,在实际运行中用到过的第3方包类库时,均报空指针。

方案二:不使用-ignorewarnings 添加-dontwarn java.awt.datatransfer.Transferable.** 警告信息并没有减少,打包会失败。

android混淆打包 功能不能用

ProGuard来进行混淆打包,大大的优化Apk包的大小。

但是注意ProGuard对文件路径的名名很有讲究,不支持括号,也不支持空格。

在混淆过后,可以在工程目录的proguard中的mapping.txt看到混淆后的类名,方法名,变量名和混淆前的类名,方法名,变量名。

  在使用Eclipse新建一个工程,都会在工程目录下生产配置project.properties和proguard-project.tx。

  # To enable ProGuard to shrink and obfuscate your code, ment this (available properties: sdk.dir, user.home):   #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt   # Project target.   target=android-10   project.properties用于配置Android工程的一些属性,#号的话表示当前行是注释,这里的proguard.config就用于指定ProGuard的混淆配置文件,并对使用release方式打包应用程序时开启代码混淆功能。

对于是否是使用release方式打包,和AndroidManifest.xml中application的android:debuggable属性有很多关系。

如果该值为android:debuggable="true",那么最终就是debug方式打包。

最明智的方式就是在AndroidManifest.xml并不显示的指定它,而是是打包工具在打包时来决定它最终的值。

对于ant就是ant release或ant debug。

而对于直接在Eclipse中使用run 或debgu来打包的话就是debug,使用export的话就是release.   proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt   这里的话指定了混淆的基本配置文件proguard-android.txt,和混淆的个性化配置文件proguard-project.txt。

Android 混淆出问题了,求教

您好,我在别的论坛也看到您的问题,很高兴为您解答: duplicate definition of library class [.http.SslError] 看来不是混淆问题,你的包自身就有多余的吧?结果是相同的类冲突了。

在proguard.cfg加上忽略警告的代码,就可以了。

如果我的回答没能帮助您,请继续追问。

瓜云互联-美国洛杉矶高防CN2高防云服务器,新老用户均可9折促销!低至32.4元/月!

瓜云互联一直主打超高性价比的海外vps产品,主要以美国cn2、香港cn2线路为主,100M以内高宽带,非常适合个人使用、企业等等!安全防护体系 弹性灵活,能为提供简单、 高效、智能、快速、低成本的云防护,帮助个人、企业从实现网络攻击防御,同时也承诺产品24H支持退换,不喜欢可以找客服退现,诚信自由交易!官方网站:点击访问瓜云互联官网活动方案:打折优惠策略:新老用户购买服务器统统9折优惠预存返款活动...

VPSMS:53元/月KVM-512MB/15G SSD/1TB/洛杉矶CN2 GIA

VPSMS最近在做两周年活动,加上双十一也不久了,商家针对美国洛杉矶CN2 GIA线路VPS主机提供月付6.8折,季付6.2折优惠码,同时活动期间充值800元送150元。这是一家由港人和国人合资开办的VPS主机商,提供基于KVM架构的VPS主机,美国洛杉矶安畅的机器,线路方面电信联通CN2 GIA,移动直连,国内访问速度不错。下面分享几款VPS主机配置信息。CPU:1core内存:512MB硬盘:...

GeorgeDatacenter:洛杉矶/达拉斯/芝加哥/纽约vps云服务器;2核/8GB/250GB/2TB流量/1Gbps端口,$84/年

georgedatacenter怎么样?GeorgeDatacenter是一家2017年成立的美国商家,正规注册公司(REG: 10327625611),其实是oneman。现在有优惠,有几款特价VPS,基于Vmware。支持Paypal付款。GeorgeDatacenter目前推出的一款美国vps,2核/8GB内存/250GB NVMe空间/2TB流量/1Gbps端口/Vmware/洛杉矶/达拉...

android混淆为你推荐
stm32视频教程只有众想科技刘洋讲了STM32视频教程是边讲边写的吗?软件开发的周期软件生命周期为什么将软件开发过程划分几个阶段?物联卡官网物联卡,是什么卡啊???客服系统方案客户管理系统方案都有哪些呢?电梯物联网平台电梯物联网技术运用到电梯的远程监控上,能实现什么作用?催收软件哪个好问下催款人爆通讯录是电话通讯录还是微信上的通讯录或者其它软件的通讯录云图好看吗电影《云图》到底讲的什么,没看懂,高手来说一下。handoff怎么用如何令Yosemite使用iPhone的通话功能和Handoff设置微软永久关闭实体店怎么彻底关闭微软商店的自动更新湖北健康码转码申请个人健康随身绿色码怎么申请?
vps 贝锐花生壳域名 lunarpages mysql主机 ibrs qq云端 香港亚马逊 全能空间 lamp是什么意思 稳定空间 广东服务器托管 聚惠网 空间排行榜 cdn加速技术 在线tracert vi命令 主机游戏 国外bt网站 魔兽世界服务器维护 联想塔式服务器 更多