移动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技术群的解决问题的速度绝对是杠杠滴!

时间: 09-14

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

Android项目:proguard混淆之常见开源项目混淆配置

1.Gson混淆 ## ---------------------------------- ##   ########## Gson混淆    ########## ## ---------------------------------- -keepattributes Signature  -keep class sun.misc.Unsafe { *; }  -keep class com.google.gson.examples.android.model.** { *; } 2.gr

使用proguard混淆android代码

当前是有些工具比如apktool,dextojar等是可以对我们android安装包进行反编译,获得源码的.为了减少被别人破解,导致源码泄露,程序被别人盗取代码,等等.我们需要对代码进行混淆,android的sdk中为我们提供了ProGrard这个工具,可以对代码进行混淆(一般是用无意义的名字来重命名),以及去除没有使用到的代码,对程序进行优化和压缩,这样可以增加你想的难度.最近我做的项目,是我去配置的混淆配置,因此研究了一下,这里分享一下. 如何启用ProGuard ant项目和eclipse

大型网络游戏服务器的框架设计(一)

服务器是用来处理高并发的请求,同时能够满足扩展的业务逻辑的需求,最重要的是满足三点:并发性,稳定性,扩展性. 经历过两款上线游戏产品,见识到了游戏行业的杂乱无章,虽然和传统软件行业相比,少了那么些规范,但是对个人能力要求还真不比传统软件行业低. 今天开始,陆续利用业余时间将自己设计的一个服务器的框架贴出来,也会包好一些基本的代码,也会用到一些开源库.从最基础的讲起,首先看看一个实时网络游戏服务器的框架: 目前市面上的游戏,总的来说分为两类: 1.弱联网类游戏,像手机上的卡牌类游戏(MT,Dota

Cocos网络篇[3.2](3) ——Socket连接(1)

[唠叨] 在客户端游戏开发中,使用HTTP进行网络通信的比较少,一般使用的都是Socket进行通信.而HTTP一般用于网页或者网页游戏. 使用第三方Socket通信库:ODSocket. [参考] http://blog.csdn.net/sight_/article/details/8138802 (Socket详解) http://blog.csdn.net/hguisu/article/details/7444092 (Socket编程原理) [源码下载] ODSocket库源码:http

ftp server源代码分析20140602

当前是有些工具比如apktool,dextojar等是可以对我们android安装包进行反编译,获得源码的.为了减少被别人破解,导致源码泄露,程序被别人盗取代码,等等.我们需要对代码进行混淆,android的sdk中为我们提供了ProGrard这个工具,可以对代码进行混淆(一般是用无意义的名字来重命名),以及去除没有使用到的代码,对程序进行优化和压缩,这样可以增加你想的难度.最近我做的项目,是我去配置的混淆配置,因此研究了一下,这里分享一下. 如何启用ProGuard ant项目和eclipse

JDialog的使用

当前是有些工具比如apktool,dextojar等是可以对我们android安装包进行反编译,获得源码的.为了减少被别人破解,导致源码泄露,程序被别人盗取代码,等等.我们需要对代码进行混淆,android的sdk中为我们提供了ProGrard这个工具,可以对代码进行混淆(一般是用无意义的名字来重命名),以及去除没有使用到的代码,对程序进行优化和压缩,这样可以增加你想的难度.最近我做的项目,是我去配置的混淆配置,因此研究了一下,这里分享一下. 如何启用ProGuard ant项目和eclipse

unity访问php

长连接,弱联网.不好意思,这俩不是一个意思. 反过来说,短连接,强联网,是不是有点别扭呢. 你可以不会php,甚至你可以不知道php是干什么的. 百度php安装环境,自行搭建好环境,顺便测试一下.(下载那个XAMPP,数据库也是弄好的) 百度连接mysql数据库 会找到如下代码,具体的可能会有差别,反正你测试连接成功就行 例子 下面的例子选取存储在 "Persons" 表中的所有数据(* 字符选取表中所有数据): <?php $con = mysql_connect("

PHP中require和include路径问题总结

1 绝对路径.相对路径和未确定路径 相对路径 相对路径指以.开头的路径,例如 ./a/a.php (相对当前目录) ../common.inc.php (相对上级目录), 绝对路径 绝对路径是以 / 开头或者windows下的 C:/ 类似的盘符开头的路径,全路径不用任何参考路径就可以唯一确定文件的最终地址. 例如 /apache/wwwroot/site/a/a.php c:/wwwroot/site/a/a.php 未确定路径 凡是不以 . 或者 / 开头.也不是windows下 盘符:/

《Invert》开发日志01:核心玩法设计

前面提过,这个游戏的核心玩法基于我做的第一个Unity游戏,名字就叫<Invert>,现在在应用宝上面还能搜到.不过那个游戏也不是我原创的,它的玩法设计来自github上的一个开源项目(https://github.com/gorried/inverter),那时候我正在上培训班,它本来是我的一个课下练习.当时主要是为了熟悉游戏从制作到发布的流程,所以几乎完全模仿了原项目的设计,连方块的配色都没改(因为我觉得那配色挺好看的,还特意用Photoshop取了人家的色值). 但是现在回过头来看,这种

C 小问题集锦

摘要:在学习 C 语言编程中遇到的一些容易混淆出错的问题,记录下来备忘. C语言学习 小问题集锦 作者:乌龙哈里 时间:2015-11-24 平台:Window7 64bit,C# :Visual Studio Community 2015, C:TCC 0.9.26(x86-64 Win64) 参考: 章节: 数组元素 a[n++] 是 a[n] 还是 a[n+1]? 2个递归到底如何运行? 传递数组的元素个数? 正文: 一.数组元素 a[n++] 是 a[n] 还是 a[n+1]? 在学习排