【Unity】微信支付官方安卓Demo的使用问题

Unity3d使用微信支付是属于APP内发起支付调用的情况,其本质上是在安卓项目上使用微信SDK,安卓项目开发完成后再导入到Unity中作为Unity插件使用,即Unity中C#调用安卓(Java)代码的流程。

微信官方给出的支付Demo在这里,但是使用过程中遇到很多坑,网上类似的文章很多,但大多年代久远,不清楚其他人做安卓微信支付是否也是踩着这些坑过来的,总之记录下来方便以后再遇到。



首先,该Demo居然是个远古时代的Eclipse(基于ADT插件)的安卓项目!你可以选择下载Eclipse和ADT,在Eclipse中接着开发/学习,也可以选择把Eclipse项目导入到Android Studio中并改用Gradle管理。

如果选择使用Eclipse,资源下载和使用细节参考这里。如果选择使用Android Studio,导入Eclipse项目可参考基础教程进阶教程。为了顺应时代潮流,我这里选择用AS。

由于官方Demo自带各种Bug,建议基于该项目来学习和开发。该Eclipse项目中只有一个工程,导入AS后该工程会变为一个自动命名为app的模块(Module),最好是导入到一个空文件夹中(等同于新建一个AS项目)。



导入AS后,接下来就是下载各种安卓平台版本的问题,因为下载的别人的项目,大家使用的SDK版本和编译工具版本可能都不一样。

我这边根据个人IDE情况,在项目根路径\app\build.gradle文件中,修改编译工具和安卓平台版本如下:

Gradle也根据已安装的版本,改用了gradle-4.4-all版本。AS的设置中,Gradle设置默认的目录路径是C:\Users\用户名\.gradle\wrapper\dists\ ,根据你已安装的Gradle版本来修改,重新编译后AS会自动下载。但由于国内蛋疼的GFW,通常很难下载下来,手动配置Gradle参考这里,自行用迅雷下载下来后放到Gradle默认目录下,不需要解压缩!AS在使用时会自动解压。



解决Gradle和工具版本问题后,下一个碰到的问题是编译项目(菜单项Build/Make Project)后会遇到万恶的aapt2错误。该错误貌似是Android Studio3.X版本自带的Bug。

Caused by: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details

很容易搜到解决办法是在gradle.properties中添加一行代码禁用Aapt2。

android.enableAapt2=false

注意看清楚,是在gradle.properties文件中,而不是在gradle-wrapper.properties文件中!写在gradle-wrapper.properties重新编译依然会碰到这个报错!

由于该项目默认是没有gradle.properties文件的,需要自行创建。创建时不要在AS中(因为使用的视图可能是Project或Android),要在系统文件管理器中,在项目根路径新增该文件,并写上android.enableAapt2=false。

之后点击Asyn Now让Gradle重新编译就行了。



解决导入工程的各种环境问题后,下一个问题是官方Demo自带的Bug!编译项目,在AS中会遇到一个这样的Bug:

libpng error not a png file

项目中自带的一些图片资源虽然是png后缀的,但其实却是个jpg文件!解决办法参考这里或者这里。或者直接用上面提到的基于这个项目来做,该项目已经改好了这个Bug。



再次编译项目,这次的报错是 项目根路径\app\src\main\java\net\sourceforge\simcpux\Util.java,会发现该文件中引入的org.apache.http包报错了。

解决办法参考这里。原因是项目太老,使用的org.apache.http包已过时了,改用引入org.apache.http.legacy库即可。在项目根路径\app\build.gradle中新增一行:

原文地址:https://www.cnblogs.com/guxin/p/9287927.html

时间: 2024-10-10 08:52:00

【Unity】微信支付官方安卓Demo的使用问题的相关文章

微信支付官方.net版之坑你没商量

//来源:http://www.cnblogs.com/ancms/p/4571567.html 微信支付官方.net版之坑你没商量 最近开始弄支付这块,先是支付宝手机网站支付,也是坑了我许久,不过还好,问题不大. 让我们看看微信支付有多少坑 微信商户平台,你们知道么(我前天才知道,别笑我) 登录地址:https://mch.weixin.qq.com 我查了很久,才知道,原来,帐号密码,发到你开户的邮箱里了,然后,我翻啊翻,终于让我找到帐号密码了. 实在不明白,帐号为嘛是:[email pro

新版本 JSAPI微信支付V3 C# DEMO

小弟在公众号后台无意中点了更新(微信支付接口升级)PS:想都没有想,心里还乐滋滋的免费的干嘛不升级...后果来了.面临着支付不能用了,代码需要重新更新. /** * JS_API支付demo * ==================================================== * 在微信浏览器里面打开H5网页中执行JS调起支付.接口输入输出数据格式为JSON. * 成功调起支付需要三个步骤: * 步骤1:网页授权获取用户openid (难点,因为这里有个大坑) * 步骤2

微信支付官方SDK V3 .NET版的坑

我觉得玩微信支付最大的难点和瓶颈并不是微信支付本身,而是能够拿到微信支付的权限.首先微信支付所面向的开发对象不是个人,所以个人开发者不会有这样的权限,另外一方面公司的微信号又不会随便给个人进行开发,这样就陷入了一个比较尴尬的循环! 在好不容易搞到权限后,发现官方的sdk里面竟然有.NET版本,这让小猪欣喜如狂,赶紧下下来研究一番.这也就有了本文. 在设置好开发环境,测试白名单,,回调…确定微信后台设置已经没有问题之后. 接下来看.NET版本中的坑 默认Default.aspx中的链接竟然都是链接

微信支付官方.net dom漏洞百出,你是认真的吗?

Data.cs文件 144行改成 //2015-06-29 错误是没有签名 if(m_values["return_code"].ToString().ToUpper() != "SUCCESS") 278行改成 //获取接收到的签名 string return_sign = GetValue("sign").ToString().ToLower(); 大小写你都能搞混,你是认真的吗? 原文地址:https://www.cnblogs.com/x

iOS微信支付demo运行报错解决如下

要接入微信支付的小伙伴,首先要下载一份官方demo(APP微信支付官方Demo下载),然后打开工程,准备大干一场. 1.编译报错 编译的时候居然直接报错了(orz) 错误提示: APP微信支付官方Demo报错 解决方法:添加CFNetwork.framework 库选中项目名称 -> 选中TARGETS -> 选中Build Phases -> 在Link Binary With Libraries中添加 -> 点击"+"号,加入CFNetwork.framew

微信支付.net官方坑太多,我们来精简

微信支付官方坑太多,我们来精简 我把官方的代码,打包成了 an.wxapi.dll. 里面主要替换了下注释.呵呵.然后修改了几个地方. 修改一.Config.cs 1 namespace an.wxapi 2 { 3 public class WxPayConfig 4 { 5 6 public static string AppKey(string key) 7 { 8 return System.Configuration.ConfigurationManager.AppSettings[k

个人可申请的安全可靠的微信支付接口

相信很多个人开发者想要接入支付接口都被拒之门外.因为想要获得支付接口需要企业资质且.域名备案.营业执照等. 目前支付宝.微信早已不支持个人接入了,但是还是需要收款功能,怎么办呢? 市面上有一些第4方提供的二清接口,资金是达到他们的账号,然后在由他们分转资金给客户,这样并不能保证资金的安全(随时有跑路的风险,这类接口跑路的情况也经常发生). 还有一些是通过×××的方法,首先需要安卓手机root系统,安装监听APP,然后在×××内登录微信.支付宝账号,监听账单记录.安全性存在极大隐患,并且丢单率也较

微信支付,支付宝支付,银联支付——三大支付总结

转载:  https://juejin.im/post/596d97576fb9a06bb874a812 银联支付,支付宝支付,微信支付的三大总结,之前也有写过两篇. 微信支付,支付宝支付,银联支付--三大支付总结: http://blog.csdn.net/androidstarjack/article/details/72669394 支付宝植入总结: android 支付宝的植入 <曾经踩过的坑> 微信支付总结: Android 微信支付总结 备注:出于安全考虑,验签我们都是放到后台进行

.NET微信公众号开发-5.0微信支付

一.前言 在开始做这个功能之前,我们要做的第一件事情就是思考,如何做这个微信支付,从哪里开始,从哪里入手,官方的sdk说明什么的,有没有什么官方的demo,还有就是老板给我的一些资料齐全不,那些要申请的接口什么的都有没有. 经过自己的一些探索,在老板的催促下终于硬着头皮做完了这个,很坑很坑的微信支付,在此做一些总结,希望对你们有所帮助,本人能力有限,如果有什么说的不好,希望大家多多包涵. 二.开发前准备. 1.0微信支付官方开发者文档 2.0官方demo下载 我们用c#所以选择.net版本 不过