AndroidJitPack将编写好的库发布为远程依赖
发布流程
仓库地址
特别感谢
感谢Youtuber @Mikes-Code 制作的视频 Publish Your Android Library (AAR) to JitPack.io Repository | Android Studio
代码与库配置
在AndroidStudio创建一个新项目,这个项目需要包含所需发布到JitPack的功能实现库
我这个项目的结构如图下所示
我们需要发布的库是该项目下的ffmpeg-kit-android-lib,这是一个基于FFmpegKit二次编译满足我的需求的库
该库已经发布在github上,地址为ffmpeg-kit-android-lib
在该库中,我们仅需配置一个jitpack.yml文件,而这个yml文件中仅...
记录一次ffmpeg-kit的本机编译
项目地址
ffmepg-kit是一个适用于移动端的ffmpeg框架
环境
本次编译采用的虚拟机进行,系统是Ubuntu 22.0.4
在编译之前首先需要安装open-jdk环境,这里采用的是17
sudo apt install openjdk-17-jdk
之后需要安装各做所需的环境,按照ffmpeg-kit的文档
autoconf automake libtool pkg-config curl cmake gcc gperf texinfo yasm nasm bison autogen git wget autopoint meson ninja
注意,这里的ninja在Ubunut下叫ninja-build,使用ninja-build包名可以安装成功
接...
短视频场景的简单实现
起因
在某些业务场景下,可能会有刷短视频的需求,方便用户看到各式各样的效果,方便触达到用户,好处都不多说,第一个想到短视频这种产品形态的人简直就是天才
在我参与开发的某个项目的发展阶段,当然也碰到了要做这种竖屏短视频的需求,项目是做比较火的SD图片处理的,当然也涉及到一些视频生成的功能,有不同的视频模板提供个用户观看并选择.
在该场景中,需求是要求做有限刷新的视频流,当然其实要做无限刷新的也挺简单 两种方法,一种是intMaxValue,一种是54123这两种方法孰优孰劣本文就不过多赘述了,本文是阐述如何进行视频播放的相关实现的
实现方案阐述
整体架构采用ViewPager2嵌套item实现,没有采用ViewPager2嵌套Fragment,item封装了不同的状态,断网,加...
Android设计模式-更优雅实现复杂的逻辑关系
我对设计模式的个人理解
设计模式是为了更优雅地解决一些业务上必须产生强耦合联系的逻辑而产生的一些解决方案
设计模式不是必须的,相反,不使用设计模式在某些情况下甚至会让你的代码更加简洁易读
那么为什么我们仍然需要使用设计模式呢?
因为在项目中,只有你自己能读懂自己的代码这样是不行的,当然,你可以对产生业务耦合的代码使用尽可能详细的注释来说明你的方法做了什么业务,怎么样做的这个业务,但是注释相较于逻辑是有滞后性的,开发者可能不会有精力在修改完业务之后还来得及对注释进行修正。
所以,我们引入设计模式,将大段大段的逻辑拆分成尽可能小的小点
设计模式并不难,难就难在怎么样找到适合使用的场景
创建型
建造者模式
建造者模式是提前预设定的相关方法来一步步完善对象的功能,最后...
Android高性能-使用NDK来计算Bitmap最大像素区域
之前在项目需求中有一个要求,输入一张Bitmap,该Bitmap可能是A8的透明通道位图,也可能是8888的PNG图片,要求我计算出该位图中包含像素的最小面积,比如一张100x100的图片左上角(1,1)和中间(50,50)有像素,其他地方都是透明的,需要输出一个Rect,为left 1,top 1,right 50,bottom 50
这个问题就类似OpenCV中的连通域计算一样,我当时是使用RenderScript来实现的,但是后面我换了一台Android 13的设备,发现之前编写的RS脚本已经不是用GPU计算了,用CPU来进行计算,这样下来本来30ms计算出来的东西,现在可能要20s左右才能出结果,迫不得已需要寻找更通用的解决方案
NDK集成到项目
NDK集成还是那个老生常...
我的2022
今年比去年更魔幻了,那些人加速让我失去了对他们的信任
今年12月初不再进行疫情管控了,今年我被累计管控的时间至少长达一个月,我真的想不明白,我很混沌,他们也很混沌,但是今年因为封控发生的事一件一件在我的眼前,就像是走马灯一样,我这辈子都不会忘记,贵州,乌鲁木齐,上海在今年发生的事情,真的太可怕了
但是让我更难受的是好像不知道未来会怎么样发展,我希望这样的状态不会持续太久,希望能够看到未来的发展方向
than
今年和去年不太一样,去年的这个时候我已经专升本读了半年了看,在学校里虽然老师教不了太多知识,但是我有了一年多几个月的时间沉淀自己
在去年结束的时候,我仍然在琢磨不定,到底是应该走我比较擅长的Android方向,还是走可能会有更大发展方向的后端方向?为此我想了很多,也犹豫了...
AndroidRenderScript的简单使用
配置环境
Android官方好像说RenderScript已经停止维护了,但是相比较Vulkan我感觉RenderScript的学习成本更低,因为RS脚本更像C语言,使用起来简单方便,在图片处理的速度上也不亚于NDK,一些简单的图片处理需求使用RS脚本还是比较方便的
我使用的RS脚本是AndroidX库里面的,没有使用support库是因为打包以后的体积更大
根据官网的描述,我们首先在模块级的Gradle文件下添加以下配置
android {
compileSdkVersion(28)
defaultConfig {
minSdkVersion(9)
...
共计 65 篇文章,9 页。