- 博客(21)
- 收藏
- 关注
原创 MacOS 下编译 FFmpeg4.4.3版本
③:在config-env.sh中设置FFmpeg配置,整个库全量编译较大,可以通过配置不需要的属性,来减少so库体积。4.进入命令窗口,cd进入Fmpeg源码根目录,执行sudo + 空格 + build_android.sh执行编译。①:NDK:配置NDK路径,最好和我使用一样的,22版本的,且这个版本是使用clang编译器。②:根据需要,编译的so库修改脚本,我这边因项目只需使用armeabi-v7a。编译介绍:这里就讲一下需要改哪些参数,配置好环境,直接使用就行。
2023-05-28 22:40:07
664
原创 Android JNI 静态与动态注册
①:静态注册在Java类中声明一个native方法,然后alt+enter,选择第一项,对应的dynamic.cpp文件中,就会生成对应的JNI方法。注意看:JNI方法上方有JNIEXPORT和JNICALL两个宏定义声明,且其命名符合native方法和so方法的对应规则。其中JNIEnv类型代表了Java环境,通过这个JNIEnv* 指针,就可以对Java端的代码进行操作。jobject thiz代表该native方法的类实例或者这个native方法的类的class对象实例优点:实现简
2022-01-19 19:48:38
2149
原创 Android JNI内存管理原则
基本原则:①:GetStringUTFChars 和 ReleaseStringUTFChars,GetXXArrayElements 和 ReleaseXXArrayElements,必须对应起来,否则会导致内存泄漏。注意,在Release之后,不能在使用Get获得的数据。②:如果是在JNI函数内通过NewStringUTF、NewXXXArray或NewObject创建的java对象无论是否需要返回java层,都不需要手动释放,jvm会自动管理。但是如果是通过 AttachCurrentThre
2022-01-19 19:40:23
1671
原创 Android JNI 语法
①数据类型:Java与JNI数据对应关系 Java native 描述 Java native 描述 基本数据类型 引用数据类型 boolean jboolean unsigned 8位 String jstirng 字符串对象 byte jbyte signed 8位 Class jclass Class类 char jchar unsigned 16位 ...
2022-01-19 19:38:37
1325
原创 Android JNI 开发
①:NDK与JNI简介NDK:Native Development Kit,是Android的一种开发工具包,能够快速开发C,C++的动态库,并自动将so和应用打包成APK。而NDK的使用场景就是通过NDK在Android中使用JNI。JNI:Java Native Interface的缩写,即Java的本地接口,JNI可以使得Java与C,C++语言进行交互。NDK优点:1.APK的Java层代码很容易被反编译,而C/C++库反编译难度较大2.将要求高性能的应用逻辑使用C开发,从而提高
2022-01-19 19:33:21
2989
原创 Android 水印透明度失效问题以及解决方案
场景:去年公司对外的水泥商城APP来了一个水印需求---对重要页面,如商品详情、订单详情页面等添加水印。水印的具体实现逻辑也比较简单,通过自定义drawable绘制水印,并作为背景添加到fragment容器中,再将该fragment添加至根布局,就完成了水印的实现。然而,在上线几个月后,直至今日,线上总共反馈了3起水印文字透明度失效的问题,按照时间先后,分别为:OPPO的一款、华为Mate 30 Pro、华为畅享10e。排查:当时在同款手机上测试时,均正常,就猜测可能是字体导致的,但...
2021-08-12 10:05:30
1522
1
原创 Android NFC开发(NFC读取)
场景:NFC是目前Android手机一个主流的配置硬件项,本文主要讲解一下Android开发中,NFC刷卡的两种实现方式以及相关方法源码解析。①:Manifest注册方式:这种方式主要是在Manifest文件对应的activity下,配置过滤器,以响应不同类型NFC Action。使用这种方式,在刷卡时,如果手机中有多个应用都存在该NFC实现方案,系统会弹出能响应NFC事件的应用列表供用户选择,用户需要点击目标应用来响应本次NFC刷卡事件。目前我公司这边项目中使用了该逻辑,比较简便,这里先贴一下该方式.
2021-07-30 16:08:16
8643
8
原创 Android 线上问题排查经历以及Camera初步学习总结
场景:接触Camera是今年3月份的时候,当时公司一个项目的后台审核业务员反馈:部分用户上传的证件照片比较模糊,看不太清楚。由于照片来源是APP端边框识别所得的照片,在经过测试复现后,我接手了该问题。复现:与测试负责人一起经过初步真机排查,发现该问题只在部分Android老机型中比较明显,如华为P9、OPPO R9等,这也容易理解,毕竟这5年前的手机像素确实不太行。(注:项目中的边框识别是2-3年前,公司开发人员使用github上一个名为card-io-lib开源项目的aar包)。排查经过:①.
2021-07-29 16:43:33
653
原创 Android Developing Helper
场景:记录一些Android开发过程中常用的配置项。(持续更新)①:APP build.gradle:android { ... //签名配置,用于gradle脚本打包 signingConfigs { release { keyAlias 'key名称' keyPassword 'key密码' storeFile file('签名文件路径') stor
2021-07-27 10:22:56
113
原创 Android activity跳转另一个应用的activity以及任务栈信息
场景:本文主要是对“一个应用的activity跳转至另一个应用的activity情况下,这两个activity在哪个栈内”这个问题进行讨论与分析,欢迎大佬进行指正。编写测试代码:A应用的某个activity添加跳转事件(显式跳转):传入包名、类全名Intent intent = new Intent(); intent.setClassName("com.hongshi.singleapp.equiphealth", "com.hongshi.singlea..
2021-07-23 15:49:43
2188
1
原创 Android EditText被软键盘遮挡问题(问题记录)
前言:这个问题在目前的开发生涯中,令我比较深刻,以至于过去快1年了,我还记忆犹新,在此记录一下。场景:大约在1年前,当时负责的一个WMS仓储管理APP(Kotlin项目),线上突然反馈了“输入框被软键盘遮挡的问题”。接手问题后,开始复现,在HUAWEI P9与 线下物联网定制手持机中,都复现了该情况,系统版本均为Android 8.0。问题现象:由于项目暂时跑步起来,这里先用文字描述一下情况,暂时不上gif图。 (口头描述:在页面中间部分有一个输入框,点击输入框唤出软键盘时,输入框.....
2021-07-21 13:43:34
3238
3
原创 Android addViewInLayout使用解析
场景:之前原生项目开发中,遇到了动态2级表格需求,最开始使用viewGroup的addview()方法,动态对表格内容进行添加。但发现动态添加时,会导致渲染速度十分缓慢,在请求获取到数据后,过了好几秒才渲染完成。分析:在查阅资料后,注意到了另一个view添加方法----addViewInLayout。改方法大致介绍为:在布局期间添加视图,如果你需要添加多个view,那么这个方法更加有用。如果index是负的,那将会放在最后一个。(大致就是这么个意思,人工翻译可能稍微有点偏差)/** *
2021-06-30 20:19:29
1388
4
原创 uni-app APP端canvas使用总结
场景:开始接触uni-app端的canvas是因为有一个绘制流程图的需求官网Api文档:canvas
2021-06-25 14:52:28
15475
16
原创 uni-app 中对流文件的处理
问题:2021.1月份,接近年底的时候,接到了中台子应用(中台中)需求---开发文件管理系统uni-app,开始想着没有太多交互,想做成H5页面,后来考虑到扩展性,还是做成了uni-app
2021-06-07 11:43:33
7497
7
原创 uni-app video 标签渲染问题
问题:在uni生成本地打包资源后,放入自定义Android框架打包apk,安装自测发现播放组件在APP中无法渲染;分析:在经过排查后发现是没有引入对应的aar包导致;
2021-06-07 10:57:21
1324
原创 uni-app tabBar页面使用5+事件监听方法问题
问题:uni-app tabBar页面无法使用 5+中的事件监听方法: plus.globalEvent.addEventListener ,这边使用该方法监听NFC activitysheng'm
2021-06-07 10:45:21
2626
1
原创 uni-app 加载慢、启动慢、白屏问题
问题:在使用uni-app开发单应用时,由于整体项目体积较大,页面繁多,在项目提测过程中发现APP启动、加载缓慢。解决方案:对于包体积较大、启动速度缓慢、白屏问题等问题,使用分包加载机制,能够有效优化。...
2021-06-07 10:10:26
13214
9
原创 uni-app subNvue存在缓存问题
问题:uni-app subNvue存在缓存问题分析:页面关闭,但挂载在页面下的subNvue不会销毁解决方案:解决方案:在退出登录等操作时
2021-06-07 10:02:05
950
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人