Android使用第三方已经生成的动态SO库 (解决银联崩溃)_无明客的博客-程序员宅基地

技术标签: Android  

在游戏接入第三方RgSDK的时候,游戏支付出了问题,在点击银联标志的时候,游戏崩溃。

通过询问RgSDK的技术人员。发现在我根据文档拷贝的所给的SDK的Demo里的文件时少拷贝了一个libentryex.so.他们说这个就是银联的so库。

于是 我就把它拷贝过来,拷贝到了libs/armeabi文件夹下,结果在生成apk的时候,这个so库被清除了。

于是网上找资料 发现 so库的位置虽然是libs/armeabi,但是并不是手动拷贝的。而是系统给他它设置过去的。

而且so库 可以作为src文件。于是新建一个文件夹jni/unionpay。把so库放入,就像一个c++文件一样。(注意是从Windows资源管理拷贝过去)。


然后改写Android.mk


添加:

LOCAL_MODULE := entryex
LOCAL_MODULE_FILENAME := libentryex
LOCAL_SRC_FILES := unionpay/libentryex.so   //注意这里的相对,必须能被找到。
include $(PREBUILT_SHARED_LIBRARY)        //注意这里的形式


LOCAL_MODULE := cocos2dlua_shared
LOCAL_SHARED_LIBRARIES := libentryex  //这句话是关键。
LOCAL_MODULE_FILENAME := libcocos2dlua


然后 主线程里:

   static {
    System.loadLibrary("entryex");
        System.loadLibrary("cocos2dlua");
    }

注意库前面不要加lib,不然找不到 ,要和LOCAL_MODULE定义的一致。然后 就可以使用这个库了。

我之前就加了lib所以浪费了不少时间。

希望对大家有些帮助。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/LightUpHeaven/article/details/42527781

智能推荐

ssm访问swagger报错500__杀生丸_的博客-程序员宅基地

如图原因:swagger与死spring版本不匹配。在pom文件中降低swagger版本,或升高spring版本。这里降低swagger版本为2.5。0成功

notepad++ xml插件使用demo_健忘主义的博客-程序员宅基地_notepad++ xml插件

// _ooOoo_ // o8888888o // 88" . "88 // (| -_- |) // O\ = /O // ____/`---'\____ // .

LeetCode:用两个栈模拟队列_一只_小青蛙的博客-程序员宅基地_用两个栈模拟队列

题目描述:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3],[],[]]输出:[nul...

Oracle性能优化 之 库缓存命中率及等待事件_weixin_33690367的博客-程序员宅基地

3.库缓存的大小 我们上面从程序员的角度上讲述了如何共享执行计划。下面再来看看作为DBA可以为共享执行计划做什么事。首先我们要知道,每条语句的执行计划是保存在库缓存中的,优化器在解析语句时,先要到库缓存中,以语句的文本为条件,查找有没有此语句的执行计划,如果已经有了,就直接取出来交给服务器进程执行,这就是软解析。如果库缓存中不存在相同的语句,优化器就为此语句生成执行计...

java 更新jlabel_java - 用Java更新绑定的JLabel文本 - 堆栈内存溢出_weixin_39588911的博客-程序员宅基地

当我运行您发布的代码时,我收到了NullPointerException 。 这是堆栈跟踪的一部分。 (请注意,我的环境是[64位] Windows 10上的JDK 13.0.1。)Exception in thread "AWT-EventQueue-0" java.awt.IllegalComponentStateException: contentPane cannot be set t...

matlab微分方程稳定流形,MATLAB数值方法计算线性时滞微分方程的稳定性(英文版) - 仿真模拟 - 小木虫 - 学术 科研 互动社区..._Zero601的博客-程序员宅基地

This book presents the authors' recent work on the numerical methods for the stability analysis of linear autonomous and periodic delay differential equations, which consist in applying pseudospectral...

随便推点

极限编程中的简单设计,其实不简单_禅道程序猿的博客-程序员宅基地_极限编程简单设计

简单设计是说只编写必要的代码,用最简洁的代码来实现当前的需求,来让程序结构保持最简单、最小、最富表现力。“保持简单、保持笨拙”,这也是著名的KISS(keep it simple, stupid)原则。 极限编程中的简单设计,其实不简单 很多软件设计很 好地践行了这一原则,例如知名的Unix。Unix 哲学中的很多原则也都体现了简单设计:1.清晰原则:代码要清晰,避免晦涩难懂,清晰的代

17.bind、call、apply 区别?如何实现一个bind?_kleinBlue.的博客-程序员宅基地

一、作用call、apply、bind作用是改变函数执行时的上下文,简而言之就是改变函数运行时的this指向那么什么情况下需要改变this的指向呢?下面举个例子varname="lucy";constobj={name:"martin",say:function(){console.log(this.name);}};obj.say();//martin,this指向obj对象setTimeout(obj.say,0);/...

全景效果图html5,HTML5+JS实现可交互360°&柱状全景图浏览_weixin_39823269的博客-程序员宅基地

以前写文章总喜欢把自己折腾的过程和思路都写出来不知道为什么 懒,现在都喜欢直接上干货了,大概是为了节约大家的时间吧看标题是不是以为我要手动canvas秒天秒地?别瞎想了就我这样的菜逼只有调库的份直接上我好不容易找到的一个挺好用的库,Photo Sphere Viewer.js使用非常简单,官方示例:var viewer = PhotoSphereViewer({container: 'contai...

Oracle 11g网格控制器安装指南_weixin_33895657的博客-程序员宅基地

  先前对oracle 10g的网格控制器有着十分痛苦的使用经历,总是问题百出!先是安装需要打补丁,未升级前硬盘灯总是狂闪,然后CPU的I/O等待严重!  升级到10g的最高版本且在agent端安装好yast后,网格控制器的administration选项卡上只出现“系统服务”和“网络”两项!具体情况查看以下链接:http://www.itpub.net/thread-1497851-1-1....

共享内存实现进程之间的通信_信仔猿的博客-程序员宅基地_共享内存进程间通信实现过程

共享内存实现进程之间的通信共享内存允许两个或多个进程共享同一块内核存储区;共享内存创建流程:1、ftok 申请一个key_t注意:key_t ftok(char* pathname, int proj_id);(1)ftok函数需要给出两个参数(文件路径,项目id);文件路径确实存在,项目id为非0数字;(2)相同的文件路径与项目id返回相同的key_t,文件路径或者项目id的改变均会导致key_t数值的改变;2、shmget 获取共享内存对应的id,如果共享内存未创建,通过flag参

UOJ #75 接水问题加强版_weixin_30606461的博客-程序员宅基地

【题目描述】:学校里有一个水房,水房里一共装有m 个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为1。现在有n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从1到n 编号,i 号同学的接水量为wi。接水开始时,1 到m 号同学各占一个水龙头,并同时打开水龙头接水。当其中某名同学j 完成其接水量要求wj 后,下一名排队等候接水的同学k马上接替j 同学的位置开始接水。...

推荐文章

热门文章

相关标签