
android
文章平均质量分 72
周治东
android
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
android设置代理导致的ERROR: Unable to resolve dependency for xxx
使用Android Studio有时候我们为了能访问某些无法访问的库,需要设置代理。现在我遇到的是,设置了代理后无法访问,需要删除代理。问题是:设置代理的方法有哪几种呢?我遇到的坑是,系统被设置了代理,我却不知道是哪里设置了。1.这就是我被坑的地方,在C盘user下.gradle文件夹下,gradle.properties文件。可能设置了这样的代理:systemProp.http.proxy...原创 2019-12-12 15:22:19 · 419 阅读 · 1 评论 -
adb pull 文件夹里有空格怎么办
加双引号就可以了,类似这样:adb pull /mnt/sdcard/"Key Lock" F:\111如果要用shell命令进入这个文件夹,用反斜杠就可以了:cd Key\ Lock原创 2019-12-11 17:45:46 · 2801 阅读 · 1 评论 -
adb connect IP 一直offline
现象:adb connect IP报错failed to connect to 192.168.80.46:5555再次adb connect IP报错already connected to 192.168.80.46:5555adb devices却显示offline192.168.80.46:5555 offline解决:adb tcpip 5555...原创 2019-11-27 11:46:55 · 4029 阅读 · 1 评论 -
Minimum supported Gradle version is 5.4.1. Current version is 4.10.1. If using the gradle wrapper
问题在Terminal执行gradle build报错,很简单的问题总是忘记怎么解决,这里做个记录。Caused by: java.lang.RuntimeException: Minimum supported Gradle version is 5.4.1. Current version is 4.10.1. If using the gradle wrapper, try editi...原创 2019-11-20 16:22:09 · 3289 阅读 · 0 评论 -
不root怎么将FDex2反编译的dex文件拷出来
环境简述首先,即然不想root,您肯定使用的是VirtualXposed+FDex2之类的工具做的反编译。反编译肯定已经成功了,这是前提。这里要说的是怎么把反编译后的dex拷出来。dex输出目录是这样的:/data/user/0/io.va.exposed/virtual/data/user/0/com.xx.xxx这个目录需要root权限才能打开的,但是我们不root也有办法打开。...原创 2019-11-10 14:28:01 · 2520 阅读 · 2 评论 -
MAC使用dex2jar、JD-GUI
安装dex2jar官方:https://github.com/pxb1988/dex2jar如果官方下不了,我也上传了一份https://download.youkuaiyun.com/download/weixin_36001685/11968461使用:chmod +x d2j-dex2jar.shsudo sh d2j-dex2jar.sh classes.dex安装jd-gui官方...原创 2019-11-10 14:01:59 · 367 阅读 · 0 评论 -
Android上传文件到WebService接口
这方面代码好难找,直接贴代码了,比较乱,做个笔记而已。主要Utilpublic class UploadUtil { /** * 图片上传方法 * * 1.把图片信息通过Base64转换成字符串 * 2.调用connectWebService方法实现上传 */ public static String toBase64(Stri...原创 2019-11-08 15:45:25 · 492 阅读 · 0 评论 -
一个BlockingQueue的小demo
使用队列遇到问题,总感觉它阻塞后不能成功解除,所以写了个demo,实时证明Queue是没有问题的,自己遇到的问题要从其它地方排查原因。下面例子可以看到,调用queue.take()的时候会阻塞该线程,在另一个线程里给queue put进元素以后,queue.take()的阻塞会自动解除,执行queue.take()之后的代码。···public class TestQueue {priv...原创 2019-11-08 15:36:20 · 313 阅读 · 0 评论 -
解决Android Studio缓存导致的编译或运行失败
问题我的Android项目依赖一个aar,比如’com.xxx:XXX:1.0.2’,如果我这个aar作了一些修改,但是不想发布新版本,就撤回1.0.2,修改代码后重新发布1.0.2。此时我Android项目肯定不会下载最新的aar,这其中会有许多的坑的。解决办法删除.gradle下缓存的aar,比如我电脑上路径是C:\Users\e.gradle\caches\modules-2\...原创 2018-09-07 11:28:11 · 4216 阅读 · 0 评论 -
怎么搜索代码里的所有中文汉字
我们写代码的时候为了图快,经常在代码里直接写中文字符串,后来如果要统一提取出来,还要做国际化,怎么办?ctrl+shift+f打开全局搜索,输入正则表达式^((?!(*|//)).)+[\u4e00-\u9fa5]就可以了,选择Regex。...原创 2018-10-29 16:01:49 · 12134 阅读 · 3 评论 -
Android Service保活最佳实践
最近的项目因为服务在后台被杀,导致重新进入页面时遇到若干问题,网上搜了好多方案,都不可行,基本都过时了,所以自己总结了一下,我的保活策略就是不保活。顺便提一下网上现有的保活方法,我试过了是没有成功的:双进程守护这个方法貌似现在不行了。START_STICKY一开始就有,没什么用。使用前台进程可以实现保活,但是通知栏会有xxx正在运行的通知,很难受。网上说的使用两个前台进程...原创 2019-04-28 17:38:08 · 1975 阅读 · 0 评论 -
使用AndroidStudio遇到的一些坑
这里是做一下总结和记录,很多问题是开发工具的bug。1. 打开logcat,发现不能选择log级别等等,如图的红色框内容不见了。解决办法:点击右边的设置按钮,勾上悬浮模式,红色框的内容就出现了,然后再取消悬浮模式。2. 运行的时候经常不报错是哪一行,特别是xml写错的时候。在Terminal里gradle build --stacktrace一般可以找到问题具体是哪一行。有时候你Lo...原创 2019-08-01 19:07:39 · 531 阅读 · 0 评论 -
JD-GUI打开的class文件过大会卡死
今天反编译apk,使用JD_GUI打开jar,几乎所有的文件都可以打开,只有一个文件,点一下就会将JD_GUI卡死。估计是这个文件太大了。最终的解决方案是使用了Luyten下载参考这个链接(其他工具我没有试过)https://www.cnblogs.com/renyuanwei/p/9849889.html或者https://blog.youkuaiyun.com/chenchunlin526/a...原创 2019-08-28 14:09:18 · 2919 阅读 · 0 评论 -
Android apk反编译和重新打包
首先,apk是没有加固的。工具下载,直接copy别人写的地址,我没有试过,因为我电脑上早下载好了。apktool :https://ibotpeaches.github.io/Apktool/installdex2jar:https://github.com/pxb1988/dex2jarjd-gui:http://jd.benow.ca安装略,网上大把的使用apktool:CD到a...原创 2019-09-18 19:37:48 · 502 阅读 · 0 评论 -
Android解决WifiManager.removeNetwork()失败--赋予app系统权限去删除保存的wifi
首先,我们的安卓设备已经root过了,我们的app是要做成系统app的。直接删除wifi会失败一般的,删除保存的wifi代码是这样的 WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE); List<WifiConfiguration...原创 2019-09-27 17:25:51 · 6279 阅读 · 6 评论 -
Android Studio aar依赖无法找到的坑
这几天遇到好几次这种问题:我的项目依赖marven上某个aar,现在aar的工程需要修改,但是aar的版本号我不想升级。我重新在marven上提交了修改好的aar后,因为项目缓存了之前老的aar,肯定有问题,所以我去Android Studio的缓存里删除老的aar,地址是这样的:C:\Users\e.gradle\caches\modules-2\files-2.1\com.xxx.xxx,删除...原创 2018-07-26 14:15:06 · 8250 阅读 · 0 评论 -
Android apk重新打包遇到的坑
背景公司做好的apk,今天测出了问题。但是今天是周六,个人电脑上没代码,要自己想办法改apk的内容后重新打包了。好在这个apk没有加固,而且工程基本都是H5代码,可以直接改压缩文件后重新打包就可以了。若干坑使用windows电脑将后缀.apk改成.rar后直接使用winRAR打开,不解压缩成文件夹。然后保存。然后再把后缀改回去。安装,报错这个apk没有签名证书。 下载了apktool...原创 2018-07-14 23:10:11 · 5274 阅读 · 0 评论 -
monkey的使用及与leakcanary结合测试内存泄漏并禁止点击状态栏音量键返回键
本文不以monkey和leakcanary的用法为主,要看它们用法百度一下大把的。本文要讲的是monkey使用的坑和与leakcanary结合以后的坑。一、monkey的简单使用新建一个whitelist的txt文档,里面写上包名将这个文档导入手机的根目录下。打开命令提示行,执行adb shell,然后执行命令。至于命令是什么意思,百度一下非常详细了。monkey --pkg-whitelist-f原创 2017-09-15 15:05:31 · 2719 阅读 · 2 评论 -
Android自定义菊花进度条
先说废话这几天要做一个跟ios一样的菊花进度条,刚开始让UI切了一张图片,然后看看怎么转起来,发现android动画里没有这样的动画,毕竟菊花的每根线是只改变透明度,不改变位置的。最后想到了自定义控件。然后UI又改了样式,这个控件用不到了,写这里保存。这个菊花口有点大啊,没办法,ui给的要求就是这样。有没有bug我不知道,因为没有经过线上的考验,但是至少思路是这么回事。public class Lo原创 2017-09-15 15:18:28 · 669 阅读 · 0 评论 -
EditText 添加限制Emoji表情
只说这一句废话~public class MyEdtext extends EditText { private Pattern emoji; private Context mContext; private InputFilter[] emojiFilters; public MyEdtext(Context context) { super(con原创 2017-09-15 15:21:33 · 617 阅读 · 0 评论 -
android关于EditText获取焦点的一个问题
之前用EditText遇到好多关于焦点的问题,最近想到了一个问题,就记录下来,以后再慢慢添加。1.页面刷新会让EditText失去焦点,比如设置某个控件显示隐藏,刷新adapter等等。我们可以延迟50ms给EditText重新设置焦点。2.我们知道,focusableInTouchMode和focusable是用来获取焦点的,如果其他控件设置了这属性,那它就能抢EditText的焦点。我遇到过li原创 2017-09-15 15:24:26 · 1347 阅读 · 0 评论 -
android与js 的简单交互
####首先mWebSettings.setJavaScriptEnabled(true);//webview可以执行js脚本 mWebView.setWebViewClient(new MyWebViewClient());//点击链接继续在我们自己的Browser中响应//jskit约定码 MyJsKit() 是我们的方法名mWebView.addJavascriptInterface原创 2017-09-15 15:29:55 · 296 阅读 · 0 评论 -
Android 6.0和7.0权限问题及部分手机的坑
一、6.0动态授权(注意拒绝权限后的处理)在6.0下新的权限机制分为两类,Normal Permissions,这类权限是不需要用户授权。一类是Dangerous Permissions,这类权限需要动态的去申请。常见的危险权限有:permission:android.permission.CAMERApermission:android.permission.READ_EXTERNAL_STOR原创 2017-09-15 17:50:48 · 842 阅读 · 0 评论 -
关于android应用OOM检查与bug修改
之前项目崩溃比较频繁,有的手机一直很正常,有的手机动不动就崩了,报的异常是OOM。特别是,在我新加入了一个多图选择框架后,点开多图选择崩溃的概率很高。那时候没有集成leakscanary,分享一下我解决问题的过程吧。1.Android Studio的Motitors查看内存使用情况。可以看到有的手机内存占用80M左右很平稳,有的115M左右,逐渐飙升,最高达到128就崩了。有的手机能达到140左右,原创 2017-09-15 17:59:41 · 689 阅读 · 0 评论 -
使用RecyclerView实现时间轴
时间轴原创 2017-09-15 18:08:42 · 536 阅读 · 0 评论 -
Glide .centerCrop() 和transform圆角图片不能同时存在解决方法
问题描述:很多图片是圆角矩形加CenterCrop的效果或者圆形加CenterCrop的效果。稀里糊涂将Glide升级到了4.0.0,发现transform不再可以传多个参数了,之前还可以同时传centerCrop和自己的transform,现在不可以了。Glide有centerCrop()方法,也有transform里传CenterCrop,布局文件scaleType传centerCrop,发现都原创 2017-07-19 20:52:50 · 6457 阅读 · 4 评论 -
GreenDao源码分析及使用GreenDao实现静态数据缓存
一、GreedDao使用方法:1.第一步 在project里的dependencies 里添加classpath'org.greenrobot:greendao-gradle-plugin:3.2.2'例如buildscript { repositories { jcenter() mavenCentral() } dependencies { classpath 'com.android.to原创 2017-09-18 15:34:25 · 2033 阅读 · 0 评论 -
使用ItemDecoration自定义RecyclerView的分割线实现头布局
要实现的效果是仿微信交易记录的头布局之前做了一个demo,用来实现仿微信交易记录,上面是日期和交易金额,下面是详细记录。滚动的时候隐藏标题,停止显示标题。我以备注的形式来说明,很详细。使用很简单,mRecyclerView.addItemDecoration(new TitleItemDecoration(this,mContentList,mTitleList));//添加itemDecorati原创 2017-09-18 16:02:27 · 643 阅读 · 0 评论 -
Fragment实现当前页面显示才走onResume里代码
需求:MainActivity里有几个Fragment,如果MainActivity跳转到其他Activity,再从其他Activity返回MainActivity时,MainActivity的所有Fragment都会走onResume方法。怎样让当前显示的Fragment走onResume,其他Fragment不走?思路:我们知道,有一个setUserVisibleHint是在fragment刚进原创 2017-09-19 15:27:23 · 927 阅读 · 1 评论 -
Unable to pre-dex 'gradle\caches\modules-2\files-2.1' to '\build\intermediates\transforms\dex\debug'
问题1studio里面引入了这个依赖:compile 'org.web3j:core:3.1.1-android',然后运行时报错:Error:Execution failed for task ':XXXModule:transformClassesWithDexForDebug'. com.android.build.api.transform.TransformExce...原创 2018-05-15 13:51:38 · 5636 阅读 · 0 评论 -
根据背景色动态改变前景色按钮的颜色
一、需求:个人主页顶部背景图,背景图上左上角有返回按钮。最开始做的返回按钮是白色的,但是考虑到背景色可能也是白色的,所以最好的做法是用两套返回按钮图,黄色和白色,根据背景色的颜色来设置返回按钮的颜色。看图,看右上角的设置按钮颜色:二、关于HSV颜色的简介(主要用到这玩意)。HSV(Hue, Saturation, Value)也称六角锥体模型。色调H用角度度量,取值范围为0°~360°,从红色开始按原创 2017-09-15 14:41:17 · 1785 阅读 · 0 评论