- 博客(60)
- 资源 (1)
- 收藏
- 关注
原创 Android: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList...问题的解决方案
异常导入第三方SDK并编译运行时,出现了:“Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file “/system/framework/org.apache.http.legacy.boot.jar”, zip file “/data/app/com.yiguozhen.handheldsmart-SWfW3u7Cj8q39Ii-pdhONg==/base.apk”],n
2021-08-26 14:59:29 11980 4
原创 flutter:插件开发No pending exception expected: java.lang.NoSuchMethodError: no static method问题的解决
出现的问题:No pending exception expected: java.lang.NoSuchMethodError: no static method "Lcom/baidu/vis/unified/license/AndroidLicenser;.getDeviceId(Landroid/content/Context;)Ljava/lang/String;" 2020-11-24 11:59:08.395 18597-19185/? A/zygote64: runtime.cc:531]
2020-11-24 17:29:54 3248
原创 Flutter插件开发集成aar包出现:Could not determine the dependencies of task ':flutter_vpn:compileDebugAidl'.问题
概述:最近在做一个Flutter的插件开发,需要在android及ios原生中集成sdk,然后Flutter通过插件调用sdk的方法。这其中涉及到aar包的集成,虽然是Flutter的插件开发,但是关于android原生的aar包集成还是差不多的,按照正常的aar包集成流程操作,本以为很顺利,但是却出现了这个问题:这个问题非常奇怪:aar资源包引用是成功的,也能识别到对应的资源文件。但是就在...
2020-02-13 19:10:13 7060
原创 Android:More than one file was found with OS independent path 'res/values/values.xml
概述:最近在集成一个一键登录的sdk时遇到了这个问题:More than one file was found with OS independent path 'res/values/values.xml。分析问题:1.首先根据报错日记:这是由于相同命名的资源文件重复,所以系统编译的时候无法识别到底需要加载哪一个文件;2.接着,顺着这个思路,去全局搜索,看看自己的资源文件或者导引用的...
2020-02-13 00:02:04 4445 1
原创 Android:Calling startActivity() from outside of an Activity? context requires the FLAG_ACTIVITY_NEW_
概述:最近在开发一个Flutter插件项目的时候,遇到这个问题:Calling startActivity() from outside of an Activity? context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?android原生集成一个三方的sdk,通过flutter插件调用...
2020-02-12 23:25:53 1891
原创 android:关于AAPT: error: style attribute 'attr/windowActionBar...'问题的解决方案
概述:在一个Flutter工程中,引入一个第三方aar包之后进行编译,出现了“AAPT: error: style attribute ‘attr/windowActionBar (aka com.opun.flutter_easy_login_example:attr/windowActionBar)’ not found.”问题。解决思路:1.从报错的信息来看,是缺少了资源文件。一开始以...
2020-02-12 00:20:27 19795 1
原创 android:Multiple dex files define Landroid/support/v4/app/FragmentState异常解决
Multiple dex files define Landroid/support/v4/app/FragmentState编译的时候,经常会遇到这个问题。该问题的主要原因是:项目中依赖的资源包中存在重复依赖,从而出现了这个问题。基于问题的主要原因出发,可以想到解决方案:把重复依赖的资源包删除或者排除在外。而根据解决思路,由于实际情况的不同,可以有两种主要的解决思路:1)若重复依赖的资源包...
2020-01-15 11:39:39 673
转载 Android 8.0 悬浮窗变动与用法
前言:最近使用悬浮窗功能的时候,Android 8.0以上设备时出现了问题:android.view.WindowManager$BadTokenException: Unable to add window — token android.os.BinderProxy@447a6748 is not valid; is your activity running?或者android.vie...
2019-09-20 17:59:05 578
转载 Android FileProvider详细解析和踩坑指南
前言:今天修改项目的漏洞的时候,偶然发现一个关于FileProvider的坑,及时记录一下。其实很早之前我的应用就已经兼容到Android7.0了,此次写这个文章就是想详细梳理一下android的文件系统,以及做一下FileProvider的解析。Android7.0 (N) 开始,将严格执行 StrictMode 模式,也就是说,将对安全做更严格的校验。而从 Android N 开始,将不允...
2019-07-05 18:01:58 28494 5
转载 Android使用ItemTouchHelper打造可拖拽的RecyclerView
前言最近涉及到一个关于班级学生座位的项目,需求是教师长按item可以根据学生的对座位进行拖拽更换位置,这个需求与今日头条等新闻app中的拖拽或者删除频道选项类似。通过百度一番,发现recyclerView还有一个ItemTouchHelper的东东。不得不说,recyclerView确实强大,于是,找了一个个人认为写的比较好的帖子,和大家一起分享一下。ItemTouchHelper是suppo...
2019-06-26 17:14:27 552
原创 android:关于transformDexArchiveWithExternalLibsDexMergerForDebug问题的参考解决方案
前言之前集成别人的一个项目时,build的时候是可以通过的,但是在实际运行的时候却出现了“transformDexArchiveWithExternalLibsDexMergerForDebug”问题。如图:其他人的解决方法参考通过百度一个多小时,大多数的说法都是项目中重复依赖同一个库,但是依赖库的版本不一致导致的问题。因此,大家给出的解决方案也很多:比如:1.将项目下的.gradle...
2019-06-26 14:52:41 4292 1
原创 自定义view实例:渐变色仪器表盘
渐变色的仪表盘在很对应用中应该是比较常见的,如图:在绘制这个view的时候,没什么难度,主要还是颜色渐变的使用。好,不废话,先把代码贴上,然后再一步步说明:一 具体绘制过程public class TemperatureProgressBar extends View { private int mRadius; private int mProgressBarWidt...
2019-05-24 17:36:20 590
原创 TabLayout+ViewPager实现切换卡布局
前言:TabLayout是sdk 22之后的新特性,TabLayout+ViewPager实现切换卡布局在很多应用上是比较广泛的,同时实现起来也比较简单,交互效果也很不错,今天和大家一起分享其基本用法,在开始使用的时候,可能会遇到不少的坑(反正我是踩到坑了。。。。。。)。一 引入依赖库:在项目的build.gradle文件下添加库依赖 implementation 'com.android...
2019-05-24 14:56:30 611
原创 自定义view实例:录音及播放进度控件
前言:今天和大家分享一个项目中用到的录音及播放进度控件。一 代码实现:1.view:public class RecordView extends View { /** * 进度条颜色 */ private int progressColor; /** * 描边颜色 */ private int strokeCol...
2019-05-23 11:10:09 302
原创 模块化开发遇坑及解决方案
在团队多人合作开发的项目中,模块化开发就目前而言是比较常见的团队开发模式。而模块化开发时,对于习惯了独立开发的人而言,刚刚开始接触也会经常遇到一些比较常见的坑,这里记录一二,同时提供参考的解决方案,希望对大家有所帮助。问题一:模块化开发中,当前模块R文件却显示导入的是其他模块的R文件解决方案:首先检查所有资源文件是否命名规范及是否使用了其他模块的资源文件,然后,检查AndroidManifes...
2019-05-23 09:26:52 662
原创 自定义view实例:圆形进度条绘制
前言:由于项目要求,需要绘制一个圆形的进度条以进行学生成绩答题选项中,各个选项正确率的表示。同时需要根据是否达到要求显示不同的颜色。代码实现:public class AnalysisProgressBar extends View { private Paint progressPaint; /** * 绘制背景圆弧的画笔 */ private ...
2019-05-22 18:53:29 165
转载 Git:实际项目中如何使用Git做分支管理
前言:一直都听说Git作为一个强大的版本管理工具,功能强大,但是实际开发的时候只是使用了其中的一些基本的功能,同时,其分支管理、合并策略等并不了解。借此机会,学习一番:1.分支的作用分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进...
2018-10-24 18:10:36 1896 1
转载 Android App应用内截屏监控及涂鸦功能实现
前言:最近在一个APP里面看到了针对应用内截屏并对截屏的动作进行监听的功能,就想了解其中的实现方式。Android截屏功能是一个常用的功能,可以方便的用来分享或者发送给好友,本文介绍了如何实现app内截屏监控功能,当发现用户在我们的app内进行了截屏操作时,将自动展示该截屏,并提供用户随意圈点涂鸦,添加马赛克,撤销,分享等功能。实现效果如下:实现该功能有以下技术需求:当app在前台展示...
2018-10-24 15:25:53 2229
转载 android:ijkplayer播放器的集成及简单自定义播放器
关于ijkplayer最近公司准备要开发的项目里涉及到播放器的功能模块,于是对Android播放器框架进行了预研。目前ijkplayer框架是为大多数公司及开发者青睐的框架。 ijkplayer是一个基于FFmpeg的轻量级Android/iOS视频播放器。FFmpeg的是全球领先的多媒体框架,能够解码,编码, 转码,复用,解复用,流,过滤器和播放大部分的视频格式。它提供了录制、转换以及流化音视...
2018-09-28 11:40:20 3017
转载 android:RxJava上手
前言:是时候入手RxJava了。RxJava 到底是什么RxJava 好在哪API 介绍和原理简析 1. 概念:扩展的观察者模式 观察者模式 RxJava 的观察者模式 2. 基本实现 1) 创建 Observer 2) 创建 Observable 3) Subscribe (订阅) ...
2018-08-31 09:42:27 214
转载 Android 路由框架ARouter简述
前言:ARouter在实现Android组件化开发中是很重要的技术,同时,应用到页面跳转中有点也比较明显,目前Android开发中也比较流行。一:什么是路由?说简单点就是映射页面跳转关系的,当然它也包含跳转相关的一切功能。二:为什么需要路由Android系统已经给我们提供了api来做页面跳转,比如startActivity,为什么还需要路由框架呢?我们来简单分析下路由框架存...
2018-08-29 15:51:08 306
转载 Android:MVP框架浅析
前言:其实我们日常开发中的Activity,Fragment和XML界面就相当于是一个 MVC 的架构模式,Activity中不仅要处理各种 UI 操作还要请求数据以及解析。这种开发方式的缺点就是业务量大的时候一个Activity 文件分分钟飙到上千行代码,想要改一处业务逻辑光是去找就要费半天劲,而且有点地方逻辑处理是一样的无奈是不同的 Activity 就没办法很好的写成通用方法。 而MVP...
2018-08-23 16:35:56 1885 1
原创 android studio:关于项目同步下载依赖资源文件时 “ Error:Read timed out”问题的解决方法
问题的现象及主要原因: 在使用android studio 3.0的时候,导入Module或者重新打开工具进行Project的初始化时,由于项目中使用了一些类库或者jar包,而这些资源文件是存在远程仓库上的,所以需要sync同步下载。主要的原因有: 1)在同步资源文件的时候,一方面AS是设置了一定的联网连接时间; 2)另一方面,可能本身电脑防护...
2018-08-17 13:19:22 30904 3
转载 android ConstraintLayout 控件使用总结
前言:ConstraintLayout 出来那么久了,一直没怎么使用过,今天认真撸了一把,瞬间感觉高大上,所以,速度收下。 ConstraintLayout(约束布局)已经推出有一段时间了,在 Android Studio 中也作为了默认布局,能够减少布局的层级并改善布局性能,因此很有必要来研究下其功能与使用方法 ConstraintLayout 能够灵活地定位和调整子View的大小,子 V...
2018-08-07 15:30:18 806
转载 Android:WebView与js交互小结
前言:现在Android应用市场是大多数的APP都内置了Web网页(Hybrid App),比如说很多电商平台,淘宝、京东、聚划算等等,而这其中涉及到一个比较重要的技术点:WebView 与js的交互。 目录 1. 交互方式总结Android与JS通过WebView互相调用方法,实际上是: Android去调用JS的代码 JS去调用Android的代码 ...
2018-08-06 17:42:58 220
转载 java:线程基础
前言:线程是java开发中的重要的一块内容,还有多线程并发等,而我们也需要从基础学起。一、线程与进程的区别:1)线程:进程中负责程序执行的执行单元 线程本身依靠程序进行运行 线程是程序中的顺序控制流,只能使用分配给程序的资源和环境2) 进程:执行中的程序 一个进程至少包含一个线程3 )单线程:程序中只存在一个线程,实际上主方法就是一个主线程4 )多线程:在一个程序中运...
2018-07-25 17:05:31 283
转载 java:jvm类加载机制浅析
前言:对于一般java开发者而言,提到jvm大多数人是一脸懵的(至少我自己是这样的感觉),但是,jvm类加载机制又是java很重要很重要的技术点,所以,还能说什么,硬着头皮,干就是了。好好撸一撸,或许就会发现另一片天地。jvm类加载机制概述:虚拟机的类加载机制可以简单描述如下:Java虚拟机把描述类的数据从Class文件中加载到内存中,并对数据进行校验、解析和初始化,最终形成可以被...
2018-07-25 15:33:48 317
转载 java:初识集合
前言:集合无论在java开发还是android开发中使用的都比较多,而且,也是比较难理解的一个模块。但是,多看几遍,多抠一抠,总会有理解的时候。看到一篇关于集合的基本原理、基本分类等介绍比较好的帖子,和大家一块分享。 首先java中集合类主要有两大分支:一、Collection 二、MapCollection Map HashSet的内部实现原理是使用了HashMap...
2018-07-23 17:11:31 277
转载 android handler机制的初识、进阶之路
前言:在android里面,handler机制使用的比较多,同时面试的时候也是必问的题目。以前对于hander的认识只是停留在表面:会使用、懂得简单的原理。还好,网上总是有大神。循着大神的脚步,我也把handler机制自己过了一遍,把它的原理、主要逻辑梳理了一番。Android消息机制的简介:在安卓开发中,常常会遇到获取数据后更新UI的问题,比如:在获取网络信息后,需要弹出一个Toast:...
2018-07-17 16:39:46 317
原创 android studio关于enable to establish a connection to adb异常的解决方案
前言:有时候在启动AS的时候会出现“enable to establish a connection to adb”的问题,如图: 网上关于这个问题的解决方案很多,下面主要还是和大家分享一下我的解决思路: 1.异常分析:首先,根据报错的信息提示,我们知道这个异常的主要意思是ADB连接异常,ADB 主要指的但是Android DebugerBriage,它是 Android SDK 里面的工...
2018-07-17 13:54:50 5748
原创 android studio关于 Gradle sync failed: Connection timed out: connect/Cannot start internal HTTP server
在启动项目的时候,出现了上面的问题。 1.根据出现的异常信息,如果只是在度娘上搜“Gradle sync failed: Connection timed out: connect”的话,一般给出的解释是:项目目录中的gradle\wrapper\gradle-wrapper.properties这个文件中:#Wed Nov 11 09:13:47 CST 2015distribut...
2018-07-16 10:20:38 21373 5
原创 关于Android 6.0以后动态权限获取踩的坑
前言:根据Google官网的api,Android 6.0以后,Google处于安全性的考虑,在应用中需要使用某些权限的时候,需要我们在开发的时候动态获取。 因此,在实际开发过程中,我们一般都是根据官网的api在代码中为项目动态申请权限。而实际的效果是,在我们动态申请权限之后,在项目运行时需要使用权限的地方也会相应的弹出权限选择对话框。在网上也能找到很多这个实现的帖子,比如下面这个环信的...
2018-07-14 16:12:02 585
原创 android:图片三级缓存小结
前言:在Android里面,图片的使用可以说是非常重要的,根据自己平时项目中接触到的和空余时间,对图片的三级缓存做了个小结:一、三级缓存原理: 1.图片的缓存的三级指的是:内存缓存、本地缓存及网络直接获取。针对图片缓存的位置的不同,其呈现加载的效率也不一样,由高到低分别为: 内存–>本地–>网络;内存、本地、网络就构成了缓存的三个级别,大概“三级缓存”就是这么来...
2018-07-07 10:48:32 347
原创 android 图片压缩小结
前言:目前,大多数的APP应用都需要在界面上展示、加载、存储、上传图片,所有,图片的使用可以说非常频繁和重要的。而为了提高加载效率、节省上传流量、减小内存占用等,我们基本上都是需要多图片进行压缩处理的,否则容易出现OOM异常。根据个人掌握的对图片压缩进行总结一二: 一、图片压缩类型及存在的几种形式: (1)图片压缩一般可以分为:图片尺寸压缩和图片质量压缩,其中,...
2018-07-06 14:01:42 673
转载 LeakCanary:内存泄露检测
前言:以前一直都没有更多的机会去接触内存泄露检测方面的知识点,最近项目缺少专业的测试人员,只能自己硬着头皮网上一点一点查,发现了这个写比较全面的帖子: 一、LeakCanary简介 LeakCanary是Square公司开源的一个检测内存的泄露的函数库,可以方便地和你的项目进行集成,在Debug版本中监控Activity、Fragment等的内存泄露; LeakCanary集成到项目中之后,...
2018-07-05 17:15:44 1931
转载 关于android 获取当前网速的实现方法
一、实现思路: 1、Android提供有获取当前总流量的方法 2、上一秒 减去 下一面的流量差便是网速 3、注意计算 二、计算网速的工具类:package imcs.cb.com.viewapplication.utils;import android.content.Context;import android.net.TrafficStats;import androi...
2018-06-29 16:15:31 11360 5
原创 关于android提交Cookie问题
前言:android端与PC端有时候都需要使用Cookie,但是两者在使用的时候还是存在一定的区别的。对于PC端而言,每次发起网络访问,使用的Cookie值都是不一样的,而在android端,Cookie值要求一致,这样在服务器端接收到提交过去的Cookie值时,才能正确识别,从而完成正常的一次网络请求。 实现方式:(基于okhttp) 1.首先,在第一次访问服务器时,Cookie值为空,则需...
2018-06-29 10:16:23 746
转载 android动态权限申请
android 6.0以后,出于安全性能的考虑,需要进行权限的动态申请,今天在博客上看到一篇很好的帖子,动态权限申请直接写成了工具类,和大家分享一下: 环信的一个动态权限申请工具类: 1.检测权限及其回答 2.拒绝后的dialog提示 3.再次访问拒绝跳转到系统的权限设置 方便用户直接跳转的权限 使用的时候3个java文件直接丢到自己项目中去,然后注意修改一下import就行 主要...
2018-06-26 14:14:50 292
原创 关于android 版本更新中“java.lang.SecurityException:Permission Denial:opening provider”异常的解决方案
前言:基于android 7.0以后,调取系统默认的版本更新与之前的存在一定的差异,而最近在做更新的时候,也是各种坑,记录一下: 1.使用以下的方法进行版本更新: private void launchInstallation(File targetFile) { Intent intent = new Intent(Intent.ACTION_VIEW);// ...
2018-06-26 11:09:54 10267
原创 android版本更新及其异常问题处理
前言:基本上,大部分的App都要求做版本更新。以前没有具体负责过这一模块的开发,大概的原理是知道的,一直以为很简单,没怎么理。但最近自己在做这个模块的时候,还踩了不少坑。记录一下: 按照之前自己接触到的版本更新,总结一下其主要分为三大步骤: 1.检测版本更新:检测应用新版本,一般是进入应用时调取服务器接口,获取最新应用版 本信息,和当前应用版本信息进行比较,如果当前应用不是最新版本...
2018-06-25 17:00:13 2282
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人