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.776: D/AndroidRuntime(4709): Shutting down VM
06-28 05:14:09.776: W/dalvikvm(4709): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
06-28 05:14:09.786: E/AndroidRuntime(4709): FATAL EXCEPTION: main
06-28 05:14:09.786: E/AndroidRuntime(4709): java.lang.NullPointerException
06-28 05:14:09.786: E/AndroidRuntime(4709):
at mm.purchasesdk.d.a.a(Unknown Source)
06-28 05:14:09.786: E/AndroidRuntime(4709):
at mm.purchasesdk.f.a(Unknown Source)
06-28 05:14:09.786: E/AndroidRuntime(4709):
at mm.purchasesdk.Purchase.init(Unknown Source)
这个是因为重新打包过JAR之后,APK程序已经找不到原来的那几个xml文件了,需要把它提到apk外面,但也不能直接简单地解压加进去,一定要使用一定的工具。
工具有:apktool,aapt,jarsigner
但由于xda论坛的人在上几个月已经开发出新的apktool了,叫:AndroidMultitool,这个工具很好用,已经集成了上面所有的功能了,大家可以使用这个工具。好,废话不多说。
大概的流程是:
1,反编译APK
2,重新编译成APK
3,用aapt工具把CopyrightDeclaration.xml,mmiap.xml,VERSION这三个文件加到APK的根目录下面
4,把APK重新签名,成功!
下面就是对应的步骤:
至于第三步,就是在AndroidMultitool文件夹下面的Program_Files下面的aapt程序:
红色的就是我自己加进去的文件,要把他们加到run0.apk这个程序里面
其他的三个步骤我就不多说了,主要说一下第3个步骤:aapt工具的使用。
我们主要用到两个命令行(其他命令大家自己网上找吧,很强大的):
aapt.exe l run0.apk(这个命令是列出APK里面的资源文件目录)
aapt.exe a run0.apk mmiap.xml(这个命令是把mmiap.xml文件加入到run0.apk中)
当然,我们要加三个文件到里面,各个命令行就不详写了,大家自己写也行了。
搞定后就可以重新签名就成功了!
AndroidMultitool工具的下载,给一个链接给大家吧:http://forum.xda-developers.com/showthread.php?t=2326604。
由于有人说在那个英文网站下载不了,补个CSDN的下载吧~不用积分~
http://download.csdn.net/detail/lihandsome/6582863
另外,也可以直接使用我自己写的批处理(懂的用就用批处理比较快):
del newtemp.apk
java -jar "apktool.jar" d -s -f temp.apk tmpAndroid
java -jar "apktool.jar" b -f tmpAndroid run1.apk
rd /s /q tmpAndroid
aapt.exe a run1.apk mmiap.xml CopyrightDeclaration.xml VERSION
java -jar signapk.jar testkey.x509.pem testkey.pk8 run1.apk run_signed.apk
del run1.apk
zipalign.exe -v 4 run_signed.apk newtemp.apk
del run_signed.apk
另外:有人说发现了另外一个错误,就是读取不了MM扣费JAR包里面的图片资源,这个问题是因为Unity对APK打包的时候,把JAR包里面的资源封在里面了,解决办法是:
1,先解压JAR包,把里面的资源文件夹(mmiap这个文件夹)拿出来
2,在Unity项目的Assets文件夹的根目录下面新建一个StreamingAssets文件夹
3,把mmiap这个文件夹复制到StreamingAssets文件夹下面就可以了。
目录最后变成:\Assets\StreamingAssets\mmiap\image\vertical\下面的图片
转载请注明出处,谢谢。http://blog.csdn.net/lihandsome/article/details/11919113
Unity3D接入移动MM支付SDK(强联网)的问题的更多相关文章
- Unity3d 接入 移动MM支付SDK(2.3) 全攻略
原地址:http://blog.csdn.net/dingxiaowei2013/article/details/26842177 先将例程运行起来 下载例程(csdn积分不够上传不了,只能用百度网盘 ...
- unity 引用 移动mm 支付sdk
原地址:http://blog.csdn.net/u012085988/article/details/17531005 资源下载:http://download.csdn.net/detail/u0 ...
- Unity3d游戏中添加移动MM支付SDK问题处理
原地址:http://www.tuicool.com/articles/I73QFb 由于移动mm的SDK将部分资源文件放在jar包中,导致Unity无法识别,提示failed to find res ...
- Unity3d集成移动MM SDK 2.2的技术要点(坑爹的MM SDK)
原地址:http://dong2008hong.blog.163.com/blog/static/4696882720140423517951/ U3D集成移动MM的SDK绝对是以坑爹为主的东西. 浪 ...
- air游戏接入小米支付sdk
小米支付sdk要求在Application.onCreate中进行初始化 为了这个初始化搞了半天,最终搞定了.今天将更改的步骤记录下了. 1. 创建ANE.ANE的创建就不罗嗦了,这里须要注意一点,这 ...
- Untiy 接入 移动MM 详解
原地址:http://www.cnblogs.com/alongu3d/p/3627936.html Untiy 接入 移动MM 详解 第一次接到师傅的任务(小龙),准备着手写untiy接入第三方SD ...
- 实操UNITY3D接入91SDK安卓版
原地址:http://bbs.18183.com/thread-149758-1-1.html 本文内容为创建UNITY3D接入91SDK的DEMO的具体操作过程.本人水平有限,UNITY3D与And ...
- java 反射调用支付SDK
在android开发中会遇到各种SDK的接入,很是麻烦.最初在想能不能把所有的SDK都 融合到一个当中,发现有点异想天开.但是也可以解决SDK资源不小心没有引入,导致程序调用接口崩溃问题.经过查资料, ...
- 商家 APP 如何接入新版支付宝支付,老版本商家如何升级
代码地址如下:http://www.demodashi.com/demo/14006.html 前言 支付宝移动支付2.0版本对比1.0版本做了较大更新,新申请的商家都需要采用最新2.0版本 SDK ...
随机推荐
- JAVA.IO流学习笔记
一.java.io 的描述 通过数据流.序列化和文件系统提供系统输入和输出.IO流用来处理设备之间的数据传输 二.流 流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数 ...
- Contoso 大学 - 4 - 创建更加复杂的数据模型
原文 Contoso 大学 - 4 - 创建更加复杂的数据模型 原文地址:http://www.asp.net/mvc/tutorials/getting-started-with-ef-using- ...
- 如何让Asp.net webAPI返回JSON格式数据
ASP.NET Web API 是新一代的 HTTP 網路服務開發框架,除了可以透過 Visual Studio 2012 快速開發外 (內建於 ASP.NET MVC 4 的 Web API 專案範 ...
- Microsoft Dynamics CRM 2011的组织服务中的RetrieveMultiple方法(转)
本篇文章,介绍Microsoft Dynamics CRM 2011的组织服务中的RetrieveMultiple方法. RetreiveMultiple方法,用于获取实体的多个实例,该方法的签名如下 ...
- Objective-C 【@property和@synthesize关键字】
------------------------------------------- @property关键字的使用及注意事项 直接上代码和注释了! // //@property关键字的使用 //① ...
- 基于 HTML5 的数据存储
以前想做个静态网页APP.最初的思路是用本地文件存储数据,后来发现在手机上运行时,文件无法找到. 经过了长达几个月的搜索(实际也就几天),没有找到合适的方法. 就在绝望的时候,无意间搜到基于HTML5 ...
- jQuery实现列表自动滚动
需要在页面中一个小的区域循环滚动展示新闻(公告.活动.图片等等),并且,鼠标悬停时停止滚动并提示,离开后,继续滚动. 效果图: 上干货 html: <div id="news&q ...
- Linux SCSI回调IO的分析
本文转载自:http://blog.csdn.net/xushiyan/article/details/6941640,如需参考,请访问原始链接地址. 没找到如何转载的入口,只好全文copy了. -- ...
- 在Apache中开启虚拟主机
最近在自学LAMP,在Apache中尝试着开启虚拟主机的时候,遇到了挺多麻烦的,这里也顺便总结一下,在Apache中开启虚拟主机的时候,主要有下面几个步骤: 1.新建一个文件夹作为虚拟主机,用来存储网 ...
- 加密解密以及CA签证
在当今互联网时代,数据越来越来重要.那么如何加密?解密?以及通过什么方式来认证了?? 接下来,我就会和大家谈谈加密,解密以及CA签证的实现. 首先大家的知道一些加密,解密的基本常识: 互联网上中间人一 ...