Android
文章平均质量分 51
Mingyueyixi
明月依希
展开
-
高德地图内存泄露LocationManager$GnssStatusListenerTransport.mGnssCallback
在使用高德地图的时候,喜提了一个内存泄露:┬───│ GC Root: Global variable in native code│├─ android.location.LocationManager$GnssStatusListenerTransport instance│ Leaking: UNKNOWN│ Retaining 588 B in 3 objects│ ↓ LocationManager$GnssStatusListenerTransport.mGnss原创 2022-04-19 18:09:30 · 1494 阅读 · 3 评论 -
Jdk签名工具Bug引发的安卓高德地图sha1安全码配置错误惨案
这是一个jdk bug引发的安卓sha1安全码配置错误惨案配置高德地图api时,遇到了一个奇葩问题,明明app的sha1安全码是跟着文档来的,偏偏定位失败,而且提示INVALID_USER_SCODE 、ErrorCode = 7排查了半天,居然发现是jdk里面的keytool.exe工具有问题,问题jdk:openjdk-8u292-b10(AdoptOpenJDK编译的),测了几个 ,Amazon、IBM的 jdk8 也是一样的问题但是!!!Oracle JDK是正常的,果然,甲骨文还是修复.原创 2022-04-07 16:15:56 · 2906 阅读 · 0 评论 -
Android Studio远程主机强迫关闭了一个现有的连接
只要android studio一编译项目,就报:远程主机强迫关闭了一个现有的连接。An Existing Connection was Forcibly Closed by the Remote Host原因:打开了 win10 的热点暂时不知道为什么会这样。只能关闭热点原创 2021-12-23 13:40:41 · 2710 阅读 · 4 评论 -
小米手机安装apk出现DELETE_FAILED_INTERNAL_ERROR错误
Installation did not succeed. The application could not be installed: INSTALL_FAILED_VERSION_DOWNGRADE原因:小米真的有个系统app和当前正在开发的app包名相同,app叫做Battery Info它的包名:com.example.myapplication这个app是电池信息app不得不说小米工程师太懒,直接占用了android studio创建示例项目的包名,不改。复现步骤(1)android原创 2021-12-20 14:04:04 · 3595 阅读 · 1 评论 -
IDEA构建Android项目失败
一同步项目就报:This version of the Android Support plugin for IntelliJ IDEA (or Android Studio) cannot open this project, please retry with version 4.2 or newer.一堆人说检查android studio更新。艾麻,搞清楚我用的是IDEA。事实上,这问题是因为 IDE 的相关组件不支持"com.android.tools.build:gradle:4.2.0"导致原创 2021-06-25 23:55:17 · 1284 阅读 · 0 评论 -
Android uiautomatorviewer无法启动
Android uiautomatorviewer无法启动uiautomatorviewer 是android sdk提供的用来抓取布局的工具。然而有时候会出现无法启动,点击闪退的现象。先说原因,JDK版本高于java8,google 没有进行适配。问题出在uiautomatorviewer.bat 的以下代码中:set java_exe=call ..\lib\find_java.bat最后实际上去调用了:find_java64.exe 来查找 JDK 的安装路径,JDK8以后呢,不需要配置C原创 2021-03-27 22:34:53 · 5784 阅读 · 13 评论 -
【最全】安卓环境变量配置
正文:安卓环境变量,一般我们配置 ANDROID_HOME 的几个变量就完,但现在,ANDROID_HOME这个变量已经被废弃了,变成了ANDROID_SDK_ROOT,这估计是android sdk tools 26 带来的变更。低版本可以不用理会,高版本目前还可以使用旧的变量名。一般我们配置:%ANDROID_HOME%\tools;%ANDROID_HOME%\platf...原创 2019-11-24 18:52:57 · 3979 阅读 · 0 评论 -
在Window平台下载Linux版本的安卓SDK
注意:安卓sdk并不是全平台通用的,不要直接使用其他平台的sdk来进行编译,可能会造成一些奇葩问题。用“杂交”的包搭建环境时,sdk的某些包可以用,所以开了Android Studio,还能进行更新sdk,然后自动去下载某些缺失的、不可用的包,所以看上去通用。不过难保没有后遗症。如果需要下载非当前平台的sdk,可以通过配置环境变量来实现。如:···set REPO_OS_OVERRIDE...原创 2019-11-24 18:16:11 · 829 阅读 · 0 评论 -
最新版Android SDK Manager.exe 无法打开、配置代理等
背景升级AndroidSDKtools 到版本26后就打不开Android SDK SDK Manager.exe工具了,甚至会找不到Avd Manager.exe和Sdk Manager.exe这两个文件。这是因为谷歌把他们移除了,功能整合到Android Studio中。想配置个代理、镜像什么的都找不到入口,有两个解决方法。1、回退tools版本如果还想使用这...原创 2019-11-24 18:03:40 · 2196 阅读 · 0 评论 -
吐槽之Android Studio弱弱的取色板
谷歌贴心地为开发者们准备了取色器,方便了很多取色的场合。然而,用过之后,我觉得,这个取色的功能是个鸡肋——食之无味,弃之可惜。为什么这么说?因为Android Studio的取色器功能有些弱鸡。但是因为是直接在Android Studio上的,所以使用方便。弱在哪里?取色的时候,Android Stuido必须在前台显示,跑到后台就不管用啦。并且,想取到桌面的图片颜色你就不原创 2017-03-23 16:56:44 · 1460 阅读 · 0 评论 -
Android自定义一个带缩放动画的倒计时View
以下是全部代码。需要注意的是,存在多个倒计时View时,应将Handler和TimeTask分离出来,重写代码。只使用一个线程进行倒计时,分发消息通知多个view更新时间文字。import android.content.Context;import android.graphics.Canvas;import android.os.Build.VERSION_CODES;import and原创 2017-07-21 19:09:36 · 2872 阅读 · 0 评论 -
吐槽之Android Studio设置默认NDK路径(bug乎?)
Android Studio的项目设置有针对特定项目的,也有默认的设置。在打开的项目中进行设置,一般都是针对打开的这个项目的特定设置。想要对所有项目生效,需要打开:File——Other Setting进行设置。于是我选择了“Default Project Structure”,设置默认的东东。于是发现,NDK路径居然不能设置。点击了没有反应。擦。要不要这么怪异:原创 2017-03-22 00:55:18 · 30051 阅读 · 7 评论 -
吐槽之Android Studio坑逼的提示功能
很多人觉得Android Studio和IDEA的提示很智能,很强大。我今天特来吐槽,它真的很智能?不见得,难道赶得上AI了?这不是重点,重点是,它的提示,有时候是很坑逼的。第一个,函数参数提示:鸭蛋,不自动补上去,提示还这么弱。鸭蛋,不熟悉的api谁知道你提示的参数用来干嘛。写到一半,改动一下,提示框就飞了,不见了。一消失,我真的不知道怎么用快捷键调出,只能删除参数,重打左括号。另外提示框还分很多原创 2017-04-22 23:21:50 · 2263 阅读 · 0 评论 -
安卓View.onTouchEvent(MotionEvent event) 方法一行一行读
本文我首发于简书,但是简书界面太小,于是再发于此。public boolean onTouchEvent(MotionEvent event) { final float x = event.getX();//触摸点x坐标 final float y = event.getY();//触摸点y坐标 final int viewFlags = mView原创 2017-04-14 15:43:59 · 952 阅读 · 0 评论 -
修复Android Studio一直 Fetching Documentation...
注:android studio3.0已经修复该问题。用新版的不需要看本文。开启鼠标悬停快速文档提示后,Android Studio一直Fetching Documentation...两分钟后,还在。。。经查,发现这是由于ide联网查询文档,而网络不通畅导致的。并且Android Studio2.2是正常的,是从源代码生成文档提示,出问题的版本为2.3: 修复的方法如下...原创 2017-04-11 17:07:05 · 7535 阅读 · 14 评论 -
Android实现View的任意拖动
安卓实现View的拖曳有几种方法,都不外乎改变View的坐标,并且重绘,于是,只要能够改变之就可以。可以自定义View,重写OnTouchEvent(MotionEvent event),可以在Activity 的onTouch()方法中监听手指在屏幕上的位置变化实现,也可以设置View的OnTouch监听。自定义View的方式:import android原创 2017-04-20 19:14:11 · 15822 阅读 · 11 评论 -
Android Studio2.3.1下载地址
目前Android Studio正式版已更新到2.3.1,以下是各个版本的下载地址:平台链接大小校验win64位android-studio-bundle-162.3871768-windows.exe包含 Android SDK1876 MB8cfa10645b7fe1a89d4c454533763bfa34be830f4c原创 2017-04-06 15:58:28 · 8703 阅读 · 0 评论 -
彻底解决eclipse开发安卓自动导入v7包错误问题
eclipse新建安卓项目,会自动导入v7包,产生错误的根本原因是某些资源文件找不到——然而,此时往往是不可以通过删除错误的文件解决的,大部分时候,删除了一个错误的文件,另一个错误又粗来了,控制台提示又是:资源文件没找到(英文)错误如图:仔细看图中,values17,values18,values21,values23……这些值文件中的数字代表的是api等级,等级最高是原创 2016-09-04 17:09:25 · 4458 阅读 · 5 评论 -
安卓单选对话框之带确定和取消按钮
安卓单选对话框很容易就写好了://...AlertDialog dialog = builder.setTitle(R.string.please_choose) .setSingleChoiceItems(itemStrs, chooseItemIndex, new OnClickListener() { ...原创 2017-09-05 16:09:50 · 5361 阅读 · 0 评论 -
自定义View之描边、便签、贴纸效果
效果图:一个边框,角落附带两条斜线,形成了类似贴纸的效果。完整代码如下:import android.content.Context;import android.content.res.Resources.Theme;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.P原创 2017-08-30 14:44:08 · 1107 阅读 · 0 评论 -
安卓等间采样缩放算法的实现与解决ZXing生成DATA MATRIX二维码太小的问题
本文相关代码:https://gitee.com/mingyueyixi/ZxingLibraryTest按我的上一篇文章所述,修改生成二维码的方法后,成功生成了DATA MATRIX格式的二维码,然而,这个二维码实在太小,以至于竟然看不见,堪比小芝麻。而Bitmap.createScaleBitmap()方法放大的图片又十分模糊,无法使用。于是,寻找了等间采样算法来进行缩放。关于这个算法缩放的图片原创 2017-08-11 20:28:52 · 4226 阅读 · 19 评论 -
adb命令查看当前界面是哪个Activity
adb 命令查看Activity信息前提条件:1、adb配置好环境变量,即安卓环境变量2、手机连接上电脑,并开启开发者模式,媒体传输1、只查看Activity包名(过滤)以下命令可以查看手机中当前界面是哪个Activity。adb shell dumpsys activity top | grep ACTIVITY如果未安装 grep for window.exe,请分开执行:...原创 2019-03-23 00:21:02 · 52577 阅读 · 0 评论 -
安卓屏幕适配——pt适配,将pt作为宽度百分比单位
1、物理尺寸和像素单位的转换方法安卓支持的单位有dp、px、pt(英寸/72)、mm(毫米)、in(英寸),很明显 pt(英寸/72)、mm(毫米)、in(英寸)是物理单位,是实际尺寸。∵ 打印分辨率=每英寸像素个数,即dpi = px/in ,安卓中,屏幕的dpi和屏幕像素是可以求出的,于是可以计算出屏幕的物理尺寸。in = px/dpi又 1英寸 = 2.54厘...原创 2018-08-16 14:50:08 · 5235 阅读 · 4 评论 -
ps图片黑白调整算法——Android实现及性能优化
接续我的上一篇文章:http://blog.csdn.net/mingyueyixi/article/details/78534580这次是针对安卓上实现Photoshop的黑白调整算法。其实,实现的方式和java是一致的。只是bitmap比较坑爹一些,如果直接为bitmap对象设置像素,耗时将会大大增加。具体:package com.lu.adog.util.image;import androi原创 2017-11-26 17:48:51 · 1092 阅读 · 2 评论 -
安卓中图片占用内存大小分析
相关概念:位深色彩空间颜色通道int型占用字节位深: 位是二进制的位。位深是指计算机系统中图片的一个像素点占用的二进制位数。例如位深32,就是使用2^8 = 32 位二进制来表示像素值。例如11111111 00000000 00000000 00000000 代表黑色,转成16进制就是 ff000000,也就是我们常见的颜色的表示方式(#ff000000)。色彩空间: 色彩空间又叫色域。原创 2017-11-14 15:27:08 · 1183 阅读 · 0 评论 -
RecyclerView多功能分割线,横竖分割线,带padding,允许取消指定分割线
分割线可以画到RecyllerView的item的padding里,类似于android: clipPadding = “true” 效果。继承自ItemDecoration类,代码如下:import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;imp原创 2017-09-07 14:12:02 · 4150 阅读 · 0 评论 -
安卓AES加解密(兼容Android7.0)
从网上拷贝了AES的加密代码,一丢丢,当在安卓7.0上运行时(实际上是在android7.1模拟器上跑),直接报错了。原因是安卓的加密的方式又有变动了,具体报错形如:New versions of the Android SDK no longer support the Crypto provider.以及接下来的xxx,错误贼多多的。简直是歪门邪道啊。解决的方法找到了3个,罗列如下。1、参考这篇原创 2017-11-10 17:08:18 · 15161 阅读 · 13 评论 -
Gradle官方历史版本大全
Gradle官方各种版本下载集合:http://services.gradle.org/distributions/当前最新正式版json(含下载链接):http://services.gradle.org/versions/current记录一下。原创 2017-11-11 23:11:42 · 3473 阅读 · 0 评论 -
安卓Zxing生成Data Matrix、PDF417二维码错误:数组下标异常
网上广泛流传以下一段带有bug或者说错误的代码,用来生成二维码或条形码: //配置参数 Map<EncodeHintType, Object> hints = new HashMap<>(); hints.put(EncodeHintType.CHARACTER_SET, "utf-8"); //容错级别原创 2017-08-11 20:12:24 · 2556 阅读 · 0 评论 -
Gradle sync failed: Cannot locate factory for objects of type DefaultGradleConnector, as ConnectorSe
Gradle编译错误:Gradle sync failed: Cannot locate factory for objects of type DefaultGradleConnector, as ConnectorServiceRegistry has been closed.Consult IDE log for more details (Help | Show Log)原创 2017-03-21 23:34:18 · 1509 阅读 · 0 评论 -
自定义StarView用于“五星好评”
由于项目需要,很久之前自定义了一组星星视图,用于表示星级难度。也可以将星星改为勾号,圆圈等。项目地址:https://github.com/Mingyueyixi/StarView项目预览:主要思路:1.获取星星bitmap,根据设置的星星数量,调整View的宽度,并绘制。2.直接使用LinearLayout.addView(new ImageView(原创 2017-03-27 23:57:26 · 1023 阅读 · 0 评论 -
自定义扇形进度条、异步加载网络图片、Activity疯狂旋转动画
效果预览:正文1、自定义扇形进度条。思考: (1)如何绘制扇形。 (2)重写onDraw(Canvas canvas) 或 draw(Canvas canvas)。 (3)是否保留背景设置。 (4)什么时候以及如何更新进度。 (5)自定义进度、绘画起点度、扇形颜色(背景)等属性。 (6)进度文字的显示。 (7)扫描、旋转、阴影等效果的实现。 ……思路: (1)扇形绘制方法: ca原创 2016-04-19 03:27:14 · 3007 阅读 · 1 评论 -
让安卓的Dialog与屏幕等宽的方法
1、java代码实现。在dialog.show()之后马上调用 原理是,由于dialog默认设置了pading(内边距),于是,将之取消就好了public void setFullScreenWidth(){ Window win = this.getWindow(); win.getDecorView().setPadding(0, 0, 0, 0);原创 2016-05-11 23:51:32 · 2029 阅读 · 0 评论 -
安卓中@id与@+id的区别与实际应用中的@id报错问题
在安卓中,由于R.java文件的存在,各种控件设置的id在其中都是唯一的。 @+id 看样子就知道是干嘛的,为一个控件设id并加到R.java中。那么当@+id/使用了两次以上,由于id在R.java中定义为final的常量,是不会生成俩的。第二次及以后弄的不管用。 即@+id/ 的准确来说是召唤此id。如果此id不存在,创建它;如果已存在,则仅仅召唤它。@id/ 仅召唤id,而不会创建id。实原创 2016-04-11 01:10:38 · 2675 阅读 · 4 评论 -
安卓ExpandableListView长按监听判断点击的item属于哪个group(群组)和child(子项)
安卓的ExpandableListView 继承自ListView,扩展了一些功能,实现的效果类似于QQ的好友分组。如图: 但是 ExpandableListView 提供了setOnGroupClickListener(onGroupClickListener)监听方法,也提供了setOnChildClickListener(onChildClickListener)监听方法。却偏偏没有提供gr原创 2016-04-14 01:46:41 · 3144 阅读 · 2 评论 -
软件应该使用中文版还是外文版
使用软件时,可能会遇到外国软件,然后常常遭遇到这种“建议使用英文版”的人和事,我就忍不住出来吐槽一下。不知道程序员什么时候开始有这种论调,而其他行业少有。估计是从一开始就有。然而这种论调事实上是很滑稽的。为什么?1、英文的软件根本不适合新手(中国)入门。因为英文的单词是海量的,数百万来算。非专业人士有时候是看不懂的,意思就是逮住了一个土生土长的英格兰人也不一定会全部看懂。当然,软件普遍功能肯定可以看原创 2016-04-02 12:21:45 · 1493 阅读 · 1 评论 -
使用 PopupWindow 自定义对话框遭遇的悲催事件和解决方法
PopupWindow 类的构造方法有:public RoundSelectPopupWindow() //据说在2.2的模拟器上会报错,为兼容性考虑建议不要使用public RoundSelectPopupWindow(Context context) public RoundSelectPopupWindow(Context context, AttributeSet attrs,int def原创 2015-11-24 21:23:59 · 1660 阅读 · 1 评论 -
使用LayoutInflate(视图扩充器)
View view = inflater.inflate(R.layout.fragment_text, container,false);或View view = inflater.inflate(R.layout.fragment_text, null,false);第一个参数,布局文件,需要扩建成view的xml文件,第二个参数,view的根view(root),第三个参数,是否将该view依附到根view上。原创 2016-09-04 17:07:40 · 671 阅读 · 0 评论 -
隐式Intent启动Activity,action不能使用@string配置
Activity配置: 则,当使用java代码隐式启动该Activity: Intent intent = new Intent(); intent.setAction(getString(R.string.NoteInfo)); intent.putExtra(Contast.OBJ_NOTEPATE, notepad); startActivity(intent);抛出异常:AndroidRu原创 2016-09-04 17:16:18 · 896 阅读 · 0 评论 -
Android Studio上进行NDK编程之Hello world
Android Studio很早之前就支持NDK编程了,但是资料比较少,照着网上的写,一大堆的坑,各种错误一堆。经过不断的努力,弄出了第一个NDK示例——Hello world。我的配置:Android Studio 2.3Gradle 3.4NDK 14OpenJDK 8话说,应该是目前最新的配置了。总结一下流程:1、下原创 2017-03-24 01:00:23 · 4453 阅读 · 0 评论