- 博客(63)
- 资源 (56)
- 收藏
- 关注
原创 Android Studio默认配置小技巧
Android Studio使用时有些内容是放到默认目录的,本文档对常用的默认配置做个记录,方便查询。
2024-03-18 20:49:43
183
原创 Android本地关键代码安全处理
本文档提供一种示例:把关键信息,保存在native层;并对安装包关联信息进行校验,防止反编译、重签名导致信息泄露的可能。
2023-03-20 11:24:02
478
原创 Android sdk build-tools sdk tools 历史版本下载
【Android】sdk build-tools sdk tools 历史版本下载背景最近开发过程中,发现确少某个版本的SDK,需要用到远程打包环境中。本地如果安装了Android Studio下载比较简单,但是远程那台机器没办法查看,就只能下载好SDK放到build-tools目录下。找了好,发现不是版本比较低就是让我下周studio,这里记录一下,给那些需要的人。SDK下载地址例举,剩下请看下面的方法:Android SDK Platform 31:http://dl-ssl.google.
2022-05-30 18:21:16
9735
2
原创 VisualStudio上开发ffmpeg之环境搭建
一、背景介绍新手入门学习音视频,准备在Visual Studio(简称VS)上写测试demo。找了很多资料,发现很多都比较老旧,这里进行总结,方便更多有需要的人。二、软件下载Visual Studio下载链接:https://visualstudio.microsoft.com/zh-hans/downloads/ffmpeg下载官网链接:http://ffmpeg.org/download.html选择window下的dev版本在release builds下选择https://www
2022-04-26 19:50:27
2472
原创 移动端单元测试
一、什么是单元测试?基本概念**单元测试其实就是对模块、类、函数实现的功能执行检测,看看是否满足预期,是否达到功能要求,它是一次检查检验的过程。**如果某个模块或者函数满足预期,则表示测试通过,否则表示失败,比如工厂在组装一台电视机之前,会对每个元件都进行测试看是否合格,这就是单元测试,是不是很好理解。为什么编写单元测试单元测试是软件工程中降低开发成本,提高软件质量常用方式之一,单元测试是一项由开发人员或者测试人员来对程序模块的正确性进行检验测试的工作,用于检查被测试代码的功能是否正确,养成单元测试
2022-04-12 15:55:29
2839
原创 浅谈设计模式
浅谈设计模式一、什么是设计模式?定义设计模式是对某情景下,针对某种问题的某种解决方案,包括三个基本元素–场景、问题、解决方案。是对设计原则的具体化。用江湖话说就是武林秘籍,总结出来的一些固定套路,可以帮助有根基的程序员迅速打通任督二脉,从此做什么都特别快。设计模式其实并不是什么新的知识或者说是一个比较难以去学习的东西,他只是在面向对象编程的思想基础上,运用面向对象编程的基本思想去合理的组织代码结构,通过继承、多态、封装等特性来对程序进行重构,以达到各类预期的效果,如可扩展性,易维护性,易复用等特点
2022-04-07 17:20:52
553
原创 android google api - Calendar 使用记录
背景最近项目APP需要使用Google Calendar,需求是获取Calendar的日程安排。然后就去查找google api 找了半天,没找到官方demo在哪里,这里进行记录一下,避免采坑。第一步进入:https://developers.google.cn/calendar跳转到:https://developers.google.cn/calendar/api/quickstart/java先决条件要运行此快速入门,您需要满足以下先决条件:Java 1.8 或更高版本。Gradle
2021-12-21 19:42:41
2244
原创 google play 测试流程梳理及注意事项记录
Google Play提供了三种测试渠道,内部测试渠道、封闭式渠道、开放式渠道。下面分别进行说明和流程对比。内部测试渠道内部测试渠道主要针对内部测试人员使用,测试人员有限使用内部测试渠道,将应用快速发布给最多 100 名内部测试人员。您可以先进行内部测试,然后再将应用发布到封闭式或开放式渠道。如果需要,您可以针对应用的不同版本同时运行内部测试、封闭式测试和开放式测试。添加测试人员方式创建内部测试上传APP或Bundle (注意:版本号code大于之前上传测试code且大于线上code)添加测
2021-11-06 20:18:58
4236
原创 Android开发中使用开源库汇总
Android开发中使用开源库汇总库名地址功能描述BaseRecyclerViewAdapterHelperhttps://github.com/CymChad/BaseRecyclerViewAdapterHelper强大灵活的RecyclerView AdapterSwipeRecyclerViewhttps://github.com/yanzhenjie/SwipeRecyclerViewRecyclerView侧滑菜单,Item拖拽,滑动删除Item,自动加载更
2021-08-18 14:52:08
264
原创 android 实现AOP 使用Aspectj Kotlin版
android 实现AOP 使用Aspect Kotlin版注意代码为Kotlin什么是OOP、什么是AOP? OOP(面向对象编程)针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分,而AOP则是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。AOP的应用场景AOP编程的主要用途有:日志记录,行为统计,安全控制,事务处理,异常处理,系统统一的认证、权限管理等。AspectJ是什么?As
2021-07-21 16:06:48
1401
2
原创 A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
今天修改build.gradle中的依赖,并修改了代码,突然不能运行。报错:* What went wrong:Execution failed for task ':app:kaptDebugKotlin'.> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution > java.lang.reflect.InvocationTargetException (no
2021-06-21 18:12:47
3801
1
原创 Ffmpeg命令收集
Ffmpeg命令收集ffmpeg [global_options] {[input_file_options] -i input_url} ... {[output_file_options] output_url} ...ffmpeg 是一款非常快速的视频和音频转换器, 是开源项目 FFmpeg (Fast Forward moving pictures expert group) 的命令行程序。 它可以在任意采样率之间转换,并通过高质量的多相滤波器实时调整视频大小。_______
2021-06-08 09:42:53
165
原创 Google Driver 的使用
Google Driver 的使用项目背景AnkerWorker在项目中调用google 云盘功能,利用google云盘进行文件存储;需要对项目申请Api功能。使用记录因Google Driver是英文文档,为了快速上手和使用,本文档对使用流程进行一个大概总结。申请条件:google账号官方资料后台管理地址:https://console.cloud.google.com/home地址:https://developers.google.com/drive/api/v2/about-sdk
2021-06-01 09:43:12
4296
原创 Google Play Store上线流程
Google Play Store上线流程App上线一个大概流程,可能有不足,后续会继续补充转载请注明出处:https://blog.csdn.net/fepengwang?type=blog一、Google Play Store创建账号App后台管理账号。如果没有,需要运维同学帮忙创建1.1 注册google账号(如已经有了可跳过这步直接登录)地址:https://accounts.google.com/SignUp1.2 Google Play Store创建账号地址:https:
2021-05-19 14:23:57
1488
2
原创 Android使用VAD检测是否说话
注意写这篇文章的目的,纯粹是在项目中有需要,资料不好找,做一次搬运工,希望能帮助到有需要的同学。如果有不合适的地方,请留言私信。学习链接:https://blog.doiduoyi.com/articles/1587006578892.htmlDemo地址:https://download.csdn.net/download/fepengwang/18661527前言我们在 Android 应用做语音识别的时候,一般是用户唤醒之后开始说话。当用户超过一定的时候没有说话,就停止录音,并把录音发送到
2021-05-13 16:03:52
2235
4
原创 在Android中使用Opus 1.3.1(Ndk编译使用Opus so库)
Android中使用Opus 1.3.1Opus是一个开放格式的有损声音编码的格式,并在其使用上没有任何专利或限制。还可以处理各种音频应用,包括IP语音、视频会议、游戏内聊天、流音乐、甚至远程现场音乐表演。它可以从低比特率窄带语音扩展到非常高清音频的立体声音乐。支持的功能包括:6 kb/秒到510 kb/秒的比特率;单一频道最高256 kb/秒采样率从8 kHz(窄带)到48 kHz(全频)帧大小从2.5毫秒到60毫秒支持恒定比特率(CBR)、受约束比特率(CVBR)和可变比特率(VBR)支持语
2021-05-12 21:10:16
1939
5
原创 Android设备唯一标识(终极方案!)
Android设备唯一标识背景Android系统中并没有可靠获取所有厂商设备唯一ID的方法,各个方法都有自己的使用范围和局限性,这也是目前流行的Android系统版本过多,设备也是来自不同厂商,且没有统一标准等原因造成的。常规方案DEVICE_IDMAC ADDRESS设备序列号Serial NumberANDROID_ID手机硬件信息DEVICE_IDDEVICE_ID可以同通过getSystemService(Context.TELEPHONY_SERVICE).getDevic
2021-05-11 18:07:27
9633
原创 创建泛型ViewModel时报错(Kotlin get type of generic class without instance)
错误示例话不多说,直接上代码abstract class BaseAct<T:BaseViewModel> :AppCompatActivity(){ protected lateinit var mActivity:AppCompatActivity protected lateinit var mContext: Context protected lateinit var mViewModel: T override fun onCreate(save
2021-04-23 16:02:32
718
1
原创 Kotlin 常用工具类
工具类一般方式为扩展函数,这里列的内容不多,如果有建议或者好的项目,欢迎留言。与Context有关工具类import android.app.Activityimport android.app.Dialogimport android.content.ClipDataimport android.content.Contextimport android.graphics.drawable.Drawableimport android.os.Parcelimport android.vie
2021-03-29 17:22:14
1530
1
原创 Kotlin入门理解- 函数演变、lambada表达式、高级函数
Kotlin入门理解函数演变fun methon(a:String,b:String):String{ return a+b}fun methon1(a:String,b:String):String = a+b//编译时推断返回类型fun methon2(a:String,b: String) = a+b个人理解:在kotlin中,方法皆是函数,可以当作参数传递。不同的形式只是为了简化代码lambada表达式//如果只有一个形参,用it默认表示。val lamdab
2021-03-27 10:26:44
145
原创 Android new File(path).mkdirs() 一直返回false问题,open failed: ENOENT (No such file or directory)
compileSdkVersion: 29版本中Manifest已经配置权限动态申请了权限出现问题:mkdirs一直返回false查找问题发现:Environment.getExternalStorageDirectory().getPath(),在compileSdkVersion: 29版本中,该方法标注了@Deprecated,里面已经说明,对于Android Q的手机,应用程序不再可以直接访问此方法返回的路径,所以会一直报错 No such file or directory解决方式直
2021-02-27 11:55:55
1282
原创 Flutter 常见第三方插件
网络请求框架dio: ^3.0.7spshared_preferences: ^0.5.6微信sdkfluwx: ^1.2.1+1swiper 轮播插件flutter_swiper: ^1.1.6个推 sdkgetuiflut: ^0.1.6Flutter 调试工具flutter_flipperkit: ^0.0.21flipper sqflite调试flipperkit_sqflite_driver: 0.0.2json生成json_annotation: ^2.2.0下载
2021-01-25 09:33:20
2710
2
原创 AES加解密字符串和DES加解密文件例子
AES加解密字符串示例import javax.crypto.Cipher;import javax.crypto.spec.IvParameterSpec;import javax.crypto.spec.SecretKeySpec;/** * Created by pengfei.wang on 2021/1/14 * Describe: 字符串加解密工具类 */public class AESUtil { // 密匙 private static final Stri
2021-01-16 17:19:45
212
原创 Android开发之混淆基础教程
学习链接:1.基础混淆 https://www.teachcourse.cn/2473.html2.高级用法1->https://www.teachcourse.cn/2477.html3.高级用法2->https://www.teachcourse.cn/2494.html这里只是记录项目常用的基础用法。Android Studio如何开启混淆?在需要配置混淆的模块下的build.gradle中修改如下:buildTypes { release {
2021-01-05 14:30:50
348
原创 Android Studio 关联Module打包成aar和使用本地Maven仓库
关联Module打包成aar(创建Maven项目)理清自己的项目依赖关系项目中两个Module(Interact和JsBridge)需要制作成aar;其中 Interact依赖JsBridge.按照项目依赖关系由下到上依次制作aar1.把JsBridge制作成aar配置项目:gradle.properties设置全局变量#全局变量AAR_REPO_PATH=file:///D:/wpf/workspace/project/zhix/AARAAR_VERSION=1.0.0A
2020-12-26 11:49:38
751
1
原创 Android 的 so 文件加载机制
学习链接:https://www.cnblogs.com/dasusu/p/9810673.html问题Q1:你知道 so 文件的加载流程吗?Q2:设备存放 so 的路径有 system/lib,vendor/lib,system/lib64,vendor/lib64,知道在哪里规定了这些路径吗?清楚哪些场景下系统会去哪个目录下寻找 so 文件吗?还是说,所有的目录都会去寻找?Q3:Zygote 进程是分 32 位和 64 位的,那么,系统是如何决定某个应用应该运行在 32 位上,还是 64 位
2020-08-13 15:36:08
516
原创 android studio 创建签名Key was created with errors:Warning: JKS 密钥库使用专用格式。建议使用 keytool
创建后报异常:Key was created with errors:Warning:JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore D:\wpf\signature\ZyRelease.jks -destkeystore D:\wpf\\signature\ZyRelease.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。解决方式:首先通过 dos命令 进入该项目目录下然后输入如
2020-05-26 09:38:49
3328
原创 Android studio Git使用-设置忽略提交build和idea文件
我们的AS项目里创建完成会自带两个.gitignore文件,一个在根目录,一个在app/.gitignore。如果根目录没有这个文件需要自己创建。里面的内容*.iml.gradle/local.properties/.idea/workspace.xml/.idea/libraries.DS_Store/build/captures有其他的也可以继续添加,但是有些人可能会出现不生效的情况.对于idea文件夹下文件忽略在项目目录下,git命令输入:git rm -rf --cached
2020-05-21 14:36:18
3281
原创 style/TextAppearance.Compat.Notification.Info) not found.
错误记录:error: resource style/TextAppearance.Compat.Notification.Info (aka {packageId}.test:style/TextAppearance.Compat.Notification.Info) not found.error: resource style/TextAppearance.Compat.Notific...
2020-04-22 09:30:45
2094
原创 Android 全屏/沉侵式模式下/动态添加EditText/ViewStub等延迟加载,输入框被键盘遮挡问题记录
场景描述因为在xml中加载布局时,使用了ViewStub.需要加载的布局中有EditText.导致 延迟加载方法尝试AndroidManifest.xml 里配置android:windowSoftInputMode=“adjustResize|stateHidden”onCreate方法中setContentView之前添加getWindow().setSoftInputMode(Wi...
2020-03-18 11:41:45
211
原创 bugly使用记录
学习链接:https://blog.csdn.net/chengxc2016/article/details/83007582bugly官方网址:https://bugly.qq.com/v2/workbench/create/A0F3869EC700F8693744A8EF7395996C前言支持修改类文件资源so库不支持修改AndroidManifest文件新增四大组件...
2020-03-02 19:15:07
272
原创 java设计模式---命令模式
命令模式命令模式:高内聚的模式;将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或记录请求日志,可以提供命令的撤销和恢复功能。3个角色:Receiver接收者角色:干活的角色,命令到这里详细执行Command命令角色:需要执行的命令都要在这里声明Invoke调用者角色:接收到命令,并执行命令//通用Receiver类public abstract class...
2020-01-19 16:25:32
119
原创 Flutter安装总结
引导地址:https://blog.csdn.net/hongxue8888/article/details/94736258中文网:https://flutterchina.club/setup-windows/flutter-sdk下载:https://flutter.dev/docs/development/tools/sdk/releases#windows步骤下载sdk...
2020-01-18 15:53:02
281
原创 2019个人收集框架库总结
一些是项目中用到的,一些是趋势,都在持续学习中…共勉UI框架BaseRecyclerViewAdapterHelper 使用——RecyclerView万能适配器。PinnedSectionItemDecoration:强大的粘性标签库SmartRefreshLayout:具有极强的扩展性,集成了几十种炫酷的Header和 Footer。EasySwipeMenuLayout:仿IOS...
2020-01-18 10:29:49
356
原创 Android 快速定位耗时检测
学习链接:https://juejin.im/post/5e0b06ab5188253a82107b32一、启动耗时检测二、启动速度分析工具 — TraceView三、启动速度分析工具 — Systrace启动耗时检测查看Logcatadb shellAOP(Aspect Oriented Programming)打点查看Logcat在Android Studio Logca...
2020-01-11 11:31:18
2209
原创 ObjectBox使用记录
ObjectBox使用记录学习链接: https://blog.csdn.net/vxiaocai/article/details/78711190引入1.project的gradle中修改:buildscript {repositories { google() maven { url 'http://maven.aliyun.com/nexus/content/re...
2019-12-23 14:12:03
373
原创 Android ScrollView嵌套RecyclerView出现item显示问题
出现的问题RecyclerView显示不全滑动冲突解决方式ScrollView替换为android.support.v4.widget.NestedScrollView自定义LinearLayoutManager private class MyLinearLayoutManager extends LinearLayoutManager {public MyLin...
2019-11-27 10:04:57
226
Android NDK底层和java代码相互传值调用(实用经典Demo)
2018-05-10
Android项目源码利用加速度传感器实现计步
2017-05-09
双进程守护
2016-03-22
ffmpeg_4.4_lib.zip
2021-05-21
cocos2dx-js以so文件导入转化为Android工程,加快编译时间
2019-11-07
热更新Tinker练习Demo
2019-06-14
StarUML 3.0.2 破解版 UML工具
2018-12-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人