移动MM强联网SDK混淆出错

1.需求:接入移动MM强联网支付SDK( V3.0.0),游戏需要混淆

2.问题:按照移动MM的文档加入防止混淆的语句

-libraryjarslibs/mmbilling.3.0.0.jar
-keepclass safiap.framework.** {*; }
-keep class com.ccit.** {*; }
-keep class ccit.** { *; }
 
-keep class mm.purchasesdk.**
-keep class mm.purchasesdk.** {*;}

重新打包安装,初始化的时候报错,错误日志如下

09-17 11:16:25.322: E/AndroidRuntime(26825): java.lang.NoClassDefFoundError: com.chinaMobile.MobileAgent
09-17 11:16:25.322: E/AndroidRuntime(26825): at mm.purchasesdk.core.v.a(Unknown Source)
09-17 11:16:25.322: E/AndroidRuntime(26825): at mm.purchasesdk.core.h.a(Unknown Source)
09-17 11:16:25.322: E/AndroidRuntime(26825): at mm.purchasesdk.core.h.a(Unknown Source)
09-17 11:16:25.322: E/AndroidRuntime(26825): at mm.purchasesdk.core.i.handleMessage(Unknown Source)
09-17 11:16:25.322: E/AndroidRuntime(26825): at android.os.Handler.dispatchMessage(Handler.java:99)
09-17 11:16:25.322: E/AndroidRuntime(26825): at android.os.Looper.loop(Looper.java:153)
09-17 11:16:25.322: E/AndroidRuntime(26825): at android.os.HandlerThread.run(HandlerThread.java:60)

3.原因:

java.lang.NoClassDefFoundError: com.chinaMobile.MobileAgent

找不到 com.chinaMobile.MobileAgent这个类的定义,应该是被混淆了,所以将这个类keep一下吧。

4.解决方法:

在混淆文件中加入如下

-keep class com.chinaMobile*.**
-keep class com.chinaMobile*.**{*;}

5.总结:

这种问题应该是SDK进行了更新,但是文档中没有及时说明。不过移动MM技术群的解决问题的速度绝对是杠杠滴!

时间: 2024-11-05 11:55:42

移动MM强联网SDK混淆出错的相关文章

Unity3D接入移动MM支付SDK(强联网)的问题

原地址:http://blog.csdn.net/lihandsome/article/details/11919113 因为移动MM支付的SDK只提供android版本的,要自己写过一个android项目再打包重新生成一个jar来供Unity3d引擎使用,这一部分我就不写了,网上也提供很多的教程,主要是已经成功调用之后,会发生以下的错误: 1.failed to find resource file(mmiap.xml} 06-28 05:14:09.746: E/d(4709): faile

弱联网与强联网

知道什么是"弱联网"什么是"强联网"吗?不知道?那"愤怒的小鸟"总听说过吧? 用手指头切西瓜的水果忍者.因为被肥猪偷走鸟蛋而愤怒的小鸟.节奏过山车.捕鱼达人.三国群殴--如果你看不懂我在说什么,那么只能说,你铁定OUT了. TOM猫玩过没?这只猫会学你嗲声嗲气地说话,抚摸它的头和肚子会发出享受的呼噜声,打它的肚子它会不高兴,踩它两脚它会兴师动众地说"哎呦!",一副贱兮兮的可爱样儿! 曾经沧海难为水.过去手上玩的俄罗斯方块还有多

Dotfuscator使用方法免费下载功能说明最强C#代码混淆工具

Dotfuscator专业版是一个.NET混淆器和压缩器,它可以帮助您防止您的应用程序被反编译.同时,它还以可以使得您的应用程序更加小巧以及高效. 具体功能:先进的.NET代码安全技术:  命名空间(Namespace)/类型(Type)/方法(Method)/字段(Field)重命名使用我们拥有专利的Overload-Induction TM重命名系统.具有强大的"超载感应"功能. 控制流混淆-使用本产品,即使是当前最好的反编译器也无法得到有用的输出. 字符串加密. 几个预定义的包含

Xcode6集成微信SDK过程出错解决办法

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 根据微信官方SDK集成文档步骤

Afinal的jar包进行代码混淆出错

今天用到了代码混淆,混淆过后APP不能够运行,老报错,由于项目中只用了Afinal的第三方库,于是按照网上给出的答案为了不混淆Afinal的jar包,在配置文件中写入了下面的语句: -libraryjars libs/afinal_0.5.1_bin.jar -dontwarn net.tsz.afinal.** -keep class net.tsz.afinal.** { *; } -keep public class * extends net.tsz.afinal.** -keep pu

SDK调试出错小技巧=。=

学习Unity小伙伴完全不懂Android编程抓错误是很困难的..... 1. 使用UnityPlayer.UnitySendMessage(); 发送到Unity使用OnGUI显示错误 2. 直接在Android中截取错误调用 Toast.makeText(context, "错误信息", Toast.LENGTH_LONG).show(); 屏幕上显示

Unity3d集成移动MM SDK 2.2的技术要点(坑爹的MM SDK)

原地址:http://dong2008hong.blog.163.com/blog/static/4696882720140423517951/ U3D集成移动MM的SDK绝对是以坑爹为主的东西. 浪费大量时间去弄这玩意.真不知道设计MM SDK的人咋想的,你们应该去参考下移动百宝箱的SDK设计方式,简单易用不坑爹,1小时内绝对能搞定. 因为移动MM支付的SDK只提供android版本的,要自己写过一个android项目再打包重新生成一个jar来供Unity3d引擎使用,这一部分我就不写了,网上

移动mm 话费支付接入过程(ane)

以下记录移动mm 话费支付接入的过程 1.强联网.弱联网区别,sdk是否有区分?用户体验部分由什么不同和差异? 区别在于强联网是网络通道(wifi/gprs/3g),弱联网是走短信通道,用户层面差异在于强联网需要手机联网支付,弱联网随时随地都可以支付. 强联网和弱联网采用不同的sdk,强联网对外开放无需申请,弱联网需要申请才能接入.并且有接入门框. 2.接入关键流程 1)注册开发者账号 2)填写开发商各种资料,电子签约(需要审核,不影响sdk接入)(这一步弄好了才能收到钱,哈哈) 3)创建iap

魔窗研发副总裁沈哲:移动端SDK的优化之路

作者简介: 沈哲,擅长移动端.互联网后端技术,曾经在安硕信息.decarta(已被uber收购).京东商城等国内外知名软件公司.互联网公司工作.开发过decarta第一款地图导航app,今夜酒店特价app,负责过京东到家上海的移动端团队.现负责魔窗移动端团队,负责研发魔窗的sdk以及移动端相关产品. 本人自2015年9月底加入魔窗,开始着手优化魔窗移动端sdk的工作. 魔窗是基于Deep Link技术的开放平台,通过提供生态落地最后一公里的deep link.跨App store渠道的归因分析以