- 博客(16)
- 收藏
- 关注
原创 python动态加载pyd,so
最近做python项目用到了动态加载模块这个技术,需求很明了。0、适用于热执行,在特定的场景调用(比如安装包里面提供了install.so,用于安装安装包本身)1、不干扰已经存在的模块,就算名字相同2、开袋即食,用完回收,不长久持有引用3、需要兼容.pyd(windows)、.so(linux)4、使用完整的绝对路径,不依赖sys.path5、需要兼容3.5+,目前我用的是python3.8百度就不用说了,一大堆import的初级用法,没有相关的文献可以参考,改变阵地去Googl
2020-12-30 11:01:42
2853
原创 Android开源库提交到gitpack使用maven管理
我只做简单的整合记录,基本没有遇到什么问题,有问题的自行百度解决。第一,创建新项目,然后建立一个新的模块(AS基础)第二,在模块的build.gradle文件的头部添加:apply plugin: 'com.github.dcendents.android-maven'group = 'com.github.xianglin1998'version = '1.0'其中,gro...
2020-04-06 16:14:24
399
原创 Android自定义随机项目布局View
最近项目需要用到一个如图所述的效果,就是在一定的范围内进行随机添加布局,随机添加的项目不能重复。然后我抽取了需求列表1、项目随机2、区间限制3、禁止覆盖实现思路:一、我们需要随机一个XY坐标,这个坐标有以下几个条件1、范围被限制在随机布局内,不能越界2、XY坐标必须处理布局有填充的情况,不然会被覆盖3、XY坐标必须考虑到随机View项目的面积问题由此总结...
2020-03-25 16:59:53
1262
1
原创 Android 沉浸式与输入法冲突
遇到过一个非常奇葩的问题,使用开源库中的沉浸式代码,调用了public static void setRootViewFitsSystemWindows(Activity activity, boolean fitSystemWindows) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { ...
2020-03-04 11:05:05
444
原创 Android将Uri转换为路径
亲测,Android 4.4到Android 10可用,测试的系统有VIVO、OPPO、MIUI、EMUI...解决的国内产商问题:华为的黄色图标管理器,他返回了4.4的标准的Uri了,不是4.4以上的标准的Uri,导致解析的时候,判断到版本 > 4.4,然后用了4.4以上的标准的解析,然后失败了,并非不回调。直接可用的代码片段:public class FileUtils...
2020-02-24 11:21:27
3495
4
原创 Android开发 cmake根据gradle项目相对路径进行配置
终于弄好了相对module引用so的实现了,给大家做个参考1、首先被引用的module已经被加入到这个project中,入口在project根目录起始的相对路径2、在依赖者module里面,也就是需要在编译时依赖so的module里面,配置gradle,进行参数传递3、cmake接收参数,进行so的链接引入如果大家需要在module级管理so可以参考这个方法,因...
2019-08-26 17:50:51
896
原创 android window_type非常底层的问题
如果你需要使用freopen重定向STDOUT, STDERR, STDIN之类的标准流,如果你遇到Android NavigationView DrawableLayout的项目使用了这类库之后卡顿的问题,那么不要犹豫,立刻把他们移除, 亲测,上述库会操作stdout,导致你的逻辑被打乱。stdout出现一些window_type , window_flag相关的字符串。...
2019-07-27 21:42:36
623
原创 openssl的安卓移植
在项目中遇到了使用必须原生RSA的需求,之前此一直是JNI反射的上层RSAUtil类,导致了代码语义性差,性能损耗之类的问题。最近有个新的需求就是再次添加AES加密APP与服务器的部分通信,整个需求就是由于某部分数据体较大,不适合RSA这类非对称加密算法,因此采用了AES进行通信过程加密,但由于项目比较特殊,因此更多的添加外部安全算法java类比较不适合,只能推翻以前的做法,换成纯原生依赖。对于移...
2019-03-23 15:01:26
451
原创 记一次坑爹的鼠标问题排查
某一天我接上了2.4G无线鼠标,正准备工作时,突然发现鼠标右键无反应,然后点击左键也是时好时坏,常常是点击了某一项后就无法关闭,自动白框丢失焦点,好嘛,最后以为是OS挂了,打算进PE重装了,突然发现PE也是一样的问题,最后拿了其他的鼠标来式,发现某些问题没有了,但是还是有一点问题(某些窗口还是丢失焦点),最后把自己的鼠标拔过去别的电脑(正常)试的时候,发现了在那一部笔记本上也出现了同样的问题,最后...
2018-12-10 20:37:29
500
原创 VM虚拟机卡顿 vmrare卡顿
1、主机配置不高(无解,非要解决->升级配置)2、给虚拟机分配的配置过低或过高(适中就好)3、有分页选项在执行(大量的物理硬盘IO导致卡顿!)3、电脑装了360之类的安全软件(这个最难排查),本人亲身经历,装了360之后关闭开机自启(实际还有防护进程在自启),可能就是个中的一些问题导致的,具体待研究,打开360使其处于运行状态或者彻底卸载360之后解决。...
2018-12-09 14:44:35
1599
原创 面向对象何为多态?
前言:面向对象程序设计过程中少不了1、封装2、继承3、多态三个特性,其中多态又是怎么理解的呢?摈弃教科书式回答,多态语义是多种形态的缩写,在面向对象编程的思想中,“万物皆对象”,那么我们知道,对象的行为和属性由模板类定义,而通过模板类(class or interface)我们可以控制对象在runtime的行为属性切换,这就是多态。exam: 人,在家是孩子,在校是学生,长...
2018-10-28 17:21:48
196
原创 dex动态加载遇到的坑
1、dx工具不识别jar,各种报错,注意,打包jar一定要把打包class,不要打包java源文件2、dx工具报错 --min-sdk-version 相关内容,注意我是使用了jdk1.8的lambada新特性导致的,出现的话请排查一下去除新特性!3、貌似是双亲委派的锅,父加载器不会持有自己实例的DexClassLoader的dexPathList,因此通过loadDex加载了类之后可以直...
2018-08-21 18:47:24
769
原创 进行RSA相关开发时遇到的坑!
Android和Server的实现问题:由于server的jdk实现和android的有所不同,因此此处需要修改!Server:Cipher cipher = Cipher.getInstance("RSA");Android:Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");还有就是明文长度问题,对于明文长度貌似有密钥长度-11...
2018-06-25 19:42:08
387
原创 对于使用RandomAccessFile写入String到文件会多出NUL字符的解决方法!
将方法调用由String类型更改为byte类型即可,例如,调用writeChars,writeUTF之类的貌似会多处这么几个字符,换成bytes就不会
2018-06-14 00:48:51
1750
2
原创 bluetooth spp安卓开发
在开发有关Android的蓝牙SPP服务时,发现了一点问题,需要注意的是,在连接SPP服务的时候,有可能直接调用connect会出现Exception的问题,因此,对于SPP的服务应当有两种实现比较保险,SPP的服务特征码(UUID): 00001101-0000-1000-8000-00805F9B34FB贴出我对于连接SPP的实现,做个记录以供以后使用:public void connect(...
2018-06-12 19:39:53
660
原创 M1卡控制位的解析源码的封装
额,最近在做关于M1卡读写的程序开发,由于控制位的问题因此要查询资料解决其解析与打包的问题,恰好在GITHUB上有一个很好的项目,附带上地址:点我看这个神奇的项目 ,我根据这位程序员的思路封装了自己的库(控制位的操作基本都是按位操作,好麻烦的说。我也想参透,乃至自己独立按照M1卡相关文档可以写出,奈何实力不够,被按位操作绕的眼花缭乱的),该有的注释,基本都在这个库里面加了,为了直观明了,我一个个根...
2018-04-03 20:23:51
1263
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人