返回   华枫论坛 > ◆ 工作学习◆ > IT交流



发表新主题 回复
 
只看楼主 主题工具
旧 May 4th, 2019, 09:49     #1
dragon2934
Member
级别:3 | 在线时长:22小时 | 升级还需:10小时级别:3 | 在线时长:22小时 | 升级还需:10小时级别:3 | 在线时长:22小时 | 升级还需:10小时
 
注册日期: Oct 2005
帖子: 53
dragon2934 has a reputation beyond reputedragon2934 has a reputation beyond reputedragon2934 has a reputation beyond reputedragon2934 has a reputation beyond reputedragon2934 has a reputation beyond reputedragon2934 has a reputation beyond reputedragon2934 has a reputation beyond reputedragon2934 has a reputation beyond reputedragon2934 has a reputation beyond reputedragon2934 has a reputation beyond reputedragon2934 has a reputation beyond repute
默认 由银联开发包调试引出的Android Studio的一个八哥

由银联开发包调试引出的Android Studio的一个八哥

最近有段痛苦的经历,写出来让大家开心开心!

最近公司的flutter项目由于需要接入银联卡支付,我google了一下,看了一下银联开发的开发文档,不算复杂。就跟老板说,一周能搞定。

于是,下载开发包,申请开发者账号,不过,商户开户(海外)却不知道在那里?有问题?找客服,客服很客气的回答,需要我提供资料,然后她来转给
当地的收单机构跟我们联系。(结果现在都没人跟我联系...?)

项目开始,先弄iOS的,由于这个是需要C++/C混编,这个难不了我,很快,银联卡支付界面出来了,用测试卡测试了一般,搞定!

好顺利啊,心想!

接着开始Android,jar拷贝,lib拷贝,data.bin拷贝,于是,痛苦的事情就发生了。

点击支付按钮,程序一下就崩溃了,Android Studio 显示

java.lang.RuntimeException: Unable to start activity ComponentInfo{xxxxxxx/com.unionpay.uppay.PayActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'long java.io.InputStream.skip(long)' on a null object reference

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2690)

at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2755)

at android.app.ActivityThread.-wrap12(ActivityThread.java)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1495)

at android.os.Handler.dispatchMessage(Handler.java:102)

at android.os.Looper.loop(Looper.java:154)

at android.app.ActivityThread.main(ActivityThread.java:6196)

at java.lang.reflect.Method.invoke(Native Method)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:778)

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'long java.io.InputStream.skip(long)' on a null object reference

at java.io.FilterInputStream.skip(FilterInputStream.java:151)

at com.unionpay.mobile.android.resource.c.a(Unknown Source)

at com.unionpay.mobile.android.widgets.m.<init>(Unknown Source)

at com.unionpay.mobile.android.widgets.m.<init>(Unknown Source)

at com.unionpay.mobile.android.plugin.BaseActivity.onCreate(Unknown Source)

at com.unionpay.uppay.PayActivity.onCreate(Unknown Source)

at android.app.Activity.performCreate(Activity.java:6698)

at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1140)

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2643)

心想,不是吧!有问题,找谷哥!

于是,搜了一般,有人问过,不过回答是 data.bin要拷贝到工程的 assets目录,我查了下,没问题啊,接着用最愚蠢的办法,
把assets/data.bin拷贝到所有的目录下,再运行,还是同样的错误!

查了下银联开发包的反编译代码

if (var14 == null) {
InputStream var16 = a.class.getClassLoader().getResourceAsStream("assets/data.bin");
DataInputStream var19 = new DataInputStream(var16);

try {
....

心里不禁大骂那些家伙,大猿何苦为难小猿呢?世间的八哥已经是如此伤人!

不得不用各种招数.

......九阳神功....
............
....你师傅教了你三路剑法,上中你都没学....
....
...我底裤外穿...
嘿,醒醒吧!
哎,我不是老总,我只是码工,我整天斗八哥,只是为生活!

看着小孩钢琴练累了,在沙发趴一下,接着起来练,练大提琴累了,往椅子靠一靠,接着练(我自己是把椅子,家里人依靠我,我还能依靠谁呢?)

嘿,醒醒吧!努力!努力!

于是,从一穷二白开始,建一个新的project,引入银联开发包,working..

接着开始引入插件,二分法排除,

.......

....怎么银联没返回了?(估计我太频繁访问,银联把我拉黑了,)啊,银联大哥,我只是在调试,没力气黑你!
.....

总算找到原因了,原来google 的 crashlytics跟银联的冲突了..

真正的问题是哪里呢?

接着努力!努力!

总算找到了,于是发邮件给google求助,过了10来分钟,google回复让我把Android Studio 3.4 downgrade 到 3.3.2,

com.android.tools.build:gradle:3.4.0也降低版本,于是,我把AS 3.4卸载,重新下载了3.3.2,而且把

com.android.tools.build:gradle:3.4.0也改为com.android.tools.build:gradle:3.2.1,

clean project --> rebuild--> run

于是,银联的支付界面总算在Android手机上出来了。

......

心里在骂银联的同时,不禁感叹,自己那是什么程序猿,码农,完全是个不折不扣的码奴!

尽管很努力,老板还是觉得这个App怎么老是有问题,而且还想让我当产品经理(PM+PM+ Full Stack+Dev OPs),我一台电脑开着Mysql workbench在建库表,调sql,写存储过程,
还开着Elipse写Spring boot代码,还开着Android Stuido 写java, XCode写OC, Swift,还要开着Visual Studio Code
来写flutter 和 PHP,
天啊,难道还要我开着Visio ?再开Photo Shop?

啊,这不是苹果电脑啊,这是鸭梨!

老公老公,请下跪
娶到老婆活受罪
结婚誓言若违背
猪狗生活让你累
家务虽然我不会
但是老公要贤惠
三更半夜不能睡
帮助婴儿牛奶喂
五点起床别嫌累
充当厨师与小妹
dragon2934 当前离线  
回复时引用此帖
感谢 dragon2934
此篇文章之用户:
brucezc (May 26th, 2019)
旧 Jun 20th, 2019, 18:30   只看该作者   #2
好好学习天天向上
Member
级别:4 | 在线时长:37小时 | 升级还需:8小时级别:4 | 在线时长:37小时 | 升级还需:8小时级别:4 | 在线时长:37小时 | 升级还需:8小时级别:4 | 在线时长:37小时 | 升级还需:8小时
 
注册日期: Dec 2018
帖子: 55
声望: 0
好好学习天天向上 is an unknown quantity at this point
默认

谁让你说一个礼拜的,这种有第三方的,先说三个月看看。
好好学习天天向上 当前离线  
回复时引用此帖
发表新主题 回复

主题工具

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为格林尼治时间 -4。现在的时间是 18:52

请尊重文章原创者,转帖请注明来源及原作者。
凡是本站用户自行发布的任何信息,皆不代表本站的立场,
华枫网站不确保各类信息的正确性和可靠性,也不承担由此而导致的任何直接或间接损失以及任何法律责任。

Copyright © 1999-2024 Chinasmile