android
hlllmr1314
这个作者很懒,什么都没留下…
展开
-
Android 抓heap的几种方式
方式1:通过AndroidStudio自带的Profiler工具。方式2:通过adb命令抓取。adb shell am dumpheap 进程名 /data/local/tmp/test.hprof方式3:通过代码调用Debug.dumpHprofData()获取当前应用的heap。var path = context?.cacheDir?.absolutePath + File.separator + "1.hprof"Debug.dumpHprofData(p原创 2022-03-31 09:33:31 · 3066 阅读 · 1 评论 -
Gradle 问题小计
1. 修改gradle-wrapper.properties中的gradle版本号总是提示下载失败。直接将地址贴到浏览器进行下载,下载完成之后拷贝到 `~/.gradle/wrapper/dists/[你的gradle对应的版本号]/sha256sum/` 目录下,然后重新sync即可。2.Specifies whether it is acceptable to communicate with a repository over an insecure HTTP connection....原创 2021-09-24 14:37:03 · 254 阅读 · 1 评论 -
Android 代码片段收集
Android 代码片段收集Android EditText 做显示/隐藏密码时,光标默认会跑到第一个位置int pos = etPwd.getSelectionEnd();displayPwd = !displayPwd;etPwd.setTransformationMethod(displayPwd ?HideReturnsTransformationMethod.getInstance() : PasswordTransformationMethod.getInstance());etPwd原创 2020-12-07 14:11:35 · 94 阅读 · 0 评论 -
解决Android studio 运行App出现Warning: Default Activity not found的方法
如果您在升级Android Studio的版本后,或在生成新的APK之后看到这个错误,则可能需要清一下Android Studio的缓存:File -> Invalidate Caches / Restart...原创 2020-08-07 14:03:59 · 504 阅读 · 0 评论 -
AndroidO上替换system/framework下面的jar包不生效
第一步、 源码环境下重新编译jar包,参考mk:include $(CLEAR_VARS)LOCAL_MODULE := testLOCAL_MODULE_TAGS := optionalLOCAL_SRC_FILES := test.jarLOCAL_MODULE_SUFFIX := $(COMMON_JAVA_PACKAGE_SUFFIX) LOCAL_MODULE_CLASS := JAVA_LIBRARIESinclude $(BUILD_PREBUILT)通过mmm进行编译。原创 2020-07-24 10:19:49 · 1257 阅读 · 3 评论 -
Android 关于WebP的那些事
什么是webp格式WebP格式,谷歌(google)开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有JPEG的2/3,并能节省大量的服务器宽带资源和数据空间。WebP既支持有损压缩也支持无损压缩。相较编码JPEG文件,编码同样质量的WebP文件需要占用更少的计算资源. 可以使用Chrome打开WebP格式。怎么把png转为webp下载地址:https://storag...原创 2019-12-12 16:43:59 · 1468 阅读 · 0 评论 -
Android 如何使用tcpdump抓包
简介TCPDump可以将网络中传送的数据包完全截获下来提供分析下载tcpdump源码tcpdump提供了源码, 你可以前往https://www.tcpdump.org/下载最新版本我这里下载的最新版本是:tcpdump:4.9.2licpcap:1.9.0#下载wget http://www.tcpdump.org/release/tcpdump-4.9.2.tar....原创 2019-12-12 13:53:06 · 602 阅读 · 0 评论 -
android的m、mm、mmm编译命令的使用
android源码目录下的build/envsetup.sh文件,描述编译的命令- m: Makes from the top of the tree. - mm: Builds all of the modules in the current directory. - mmm: Builds all of the modules in the su转载 2016-11-29 18:37:08 · 1890 阅读 · 0 评论 -
service中显示Dialog
通常情况下Dialog是依赖于Activity的,所以不能正常展示,但是可以设置成system dialog类型就可以正常展示:1.添加权限uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>2.添加代码AlertDialog.Builder builder = new原创 2016-11-15 20:07:04 · 449 阅读 · 0 评论 -
使用Gson结合泛型类灵活解析JSON数据
一般比较规范的后端JSON返回数据,会遵循一些指定的JSON格式,比如:错误:[javascript] view plain copy { "status": -1, "data": null, "err": "not_found" } 正确:转载 2016-11-22 11:26:24 · 615 阅读 · 0 评论 -
repo
1 repo介绍Android 使用 Git 作为代码管理工具,开发了 Gerrit 进行代码审核以便更好的对代码进行集中式管理,还开发了 Repo 命令行工具,对 Git 部分命令封装,将百多个 Git 库有效的进行组织。1.1 清单库文件介绍一个清单库可以包含多个清单文件和多个分支,每个清单文件和分支都有对应的版本。清单文件以xml格式组织的。举个例子:Ø转载 2016-12-28 13:40:29 · 466 阅读 · 0 评论 -
那些好玩的gradle
1.Apk拷贝 当我需要把编译出来的Apk统一放到服务器或者某个地方的时候,这个脚本就可以起到作用。task('copyAll') { android.applicationVariants.all { variant -> variant.outputs.each { output -> if (!output.outputFile.name.co原创 2017-04-04 16:54:36 · 674 阅读 · 0 评论 -
如何获取手机信号
1. 广播监听IntentFilter mIntentFilter = new IntentFilter();mIntentFilter.addAction(IntentHelper.ECARX_ACTION_TBOX_SIGNAL_CHANGED);mIntentFilter.addAction(IntentHelper.ECARX_ACTION_TBOX_CONNECTION_STAT原创 2017-05-15 11:00:30 · 1605 阅读 · 0 评论 -
如何获取U盘的状态
一个广播搞定IntentFilter f = new IntentFilter();f.addAction(Intent.ACTION_MEDIA_CHECKING);f.addAction(Intent.ACTION_MEDIA_MOUNTED);f.addAction(Intent.ACTION_MEDIA_EJECT);f.addAction(Intent.ACTION_ME原创 2017-05-15 11:13:39 · 814 阅读 · 0 评论 -
获取位置变化状态
简单,一个广播搞定IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(LocationManager.HIGH_POWER_REQUEST_CHANGE_ACTION); intentFilter.addAction(LocationManager.MODE_CHANGE原创 2017-05-15 11:21:21 · 875 阅读 · 0 评论 -
如何获取GPS状态
简单,一个广播搞定 IntentFilter mIntentFilter = new IntentFilter(); mIntentFilter.addAction(LocationManager.GPS_FIX_CHANGE_ACTION); mIntentFilter.addAction(LocationManager.GPS_ENABLED_CHAN原创 2017-05-15 11:25:41 · 2920 阅读 · 0 评论 -
如何获取电池状态
简单,一个广播搞定 IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_BATTERY_CHANGED); context.registerReceiver(this, filter); public void onReceive(Context co原创 2017-05-15 11:31:22 · 789 阅读 · 0 评论 -
Android 如何更换系统字体
Android系统的所有字体都放在/system/fonts/下面。有二种方法可以修改。1. 第一种是直接替换默认的字体文件DroidSans.ttf 默认数字和英文字体(无特殊格式)DroidSans-Bold.ttf 默认数字和英文粗体(无特殊格式)DroidSansFallback.ttf 默认中、英、数字体(所有字库均找不到匹配字体后会查找此字体库)把自原创 2017-05-17 14:39:32 · 8391 阅读 · 0 评论 -
Andorid Studio的Gradle缓存的第三方库的路径在哪?
前不久遇到很奇怪的问题,就是我写的一个A库,版本是1.0.0 push到maven上之后,用一个Demo App引入之后,没问题Api都对的。然后我发现A库有个方法名命名不正确,于是我就改了一个,由于改动小我就没有有该版本号还是1.0.0,我再用Demo App sync了一下,sync完之后发现api还是之前的有问题的那个。一开始以为是没有传成功,于是乎就从maven上把arr包下载下来,看了一原创 2018-01-15 20:58:55 · 10375 阅读 · 0 评论 -
Android 使用系统Api设置系统各种属性(持续更新,欢迎讨论)
Github地址SystemSettingSet some system properties一. 显示亮度(Android系统的亮度值是0~255,数据类型为int型)//添加权限//调节屏幕亮度Setting.getDisplayApi(this).setScreenBrightness(result);//获取当前的屏幕亮度原创 2018-01-08 21:55:12 · 2068 阅读 · 0 评论 -
高仿钉钉验证码输入框
https://github.com/hlllmr1314/CheckCodeEditText原创 2016-06-27 09:21:45 · 1707 阅读 · 0 评论 -
Android系统下好用的shell命令
adb shell am broadcast 后面的参数有:[-a ][-d ][-t ] [-c [-c ] ...] [-e|--es ...] [--ez ...] [-e|--ei ...] [-n ][-f ] []eg:am broadcast -a com.haley.b.TEST_ACTION原创 2016-11-15 20:01:27 · 1511 阅读 · 0 评论 -
android中string.xml中%1$s、%1$d等的用法
一、使用xliff的用法:标签介绍: 属性id可以随便命名 属性值举例说明%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格 %n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0 %n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=转载 2016-11-16 09:23:25 · 268 阅读 · 0 评论 -
解决adbd cannot run as root in production builds问题
1,验证你的手机是否已经root了adb shellsu行命令后,$ 变为 # 即 表示root 成功2,安装adbd-insecure.apkadb install adbd-insecure.apk3,设置打开应用将Enable insecure adbd 和 enable at boot 勾选上,设置好之后重进键入:adb root即可下载地址:a原创 2016-08-16 09:41:43 · 51986 阅读 · 6 评论 -
那些做Android开发必须知道的ADB命令
来至: http://yifeiyuan.me/2016/06/30/ADB%E5%91%BD%E4%BB%A4%E6%95%B4%E7%90%86/那些必须知道的ADB命令科普: ADB的全称是Android Debug Bridge熟练掌握ADB命令可以提高开发效率以下记录一些比较常用的命令:adb start-server启动a转载 2016-07-04 12:32:59 · 1176 阅读 · 0 评论 -
高仿ios钉钉菜单展示效果
https://github.com/hlllmr1314/DDAnimMenu原创 2016-07-02 09:21:43 · 2913 阅读 · 0 评论 -
github上如何添加Demo动画
Step1. 在github上新建一个项目Step2. 制作gif动画使用AndoridStudio,连接上设备,然后在底部点开Android Monitor,左上角有个Screen Record按钮,点击点击开始录制,录制完成点击Stop Recording,选择视屏保存的位置。 Step3. 将mp4音频文件转成gif动画1,安装转换视频的小工具chmod +原创 2016-07-01 10:47:30 · 1117 阅读 · 0 评论 -
高仿钉钉的收入手机号时格式化成手机号的输入框
https://github.com/hlllmr1314/PhoneNumberEditText原创 2016-06-27 09:17:59 · 918 阅读 · 0 评论 -
ubuntu下android开发安装手机驱动
1、配置环境变量进入终端,输入sudo gedit ~/.bashrc在文件的最后追加:#set path for android sdk toolsexport PATH=$PATH:/your_android-sdk-linux_path/tools/export PATH=$PATH:/your_android-sdk-linux_path/platform-tool原创 2014-09-05 14:36:53 · 1144 阅读 · 0 评论 -
butterknife的使用
butterknife让我们从繁琐的 findViewById 中解救出来。下面直接是使用方法Activityclass ExampleActivity extends Activity { @InjectView(R.id.title) TextView title; @InjectView(R.id.subtitle) TextView subtitle;原创 2014-07-02 09:26:49 · 2469 阅读 · 0 评论 -
Android 命令行手动编译打包详解
原文出处:http://blog.csdn.net/yangwen123/article/details/8909058Android SDK提供了一系列命令行工具,用来进行Android应用的开发、调试、打包等工作!Eclipse能够进行Android应用开发的相关工作,也是调用了这些工具而已.只有掌握了命令下的工作方式,工作起来才会更加的得心应手.下面就抛开Eclipse集成开发工具,转载 2016-08-16 12:59:46 · 6846 阅读 · 0 评论 -
如何查看buildToolsVersion的版本
打开build.gradle 你会发现如下配置: android { compileSdkVersion 23 buildToolsVersion "23.0.1"}那么问题来你,你知道你23下面有哪些buildtool版本吗?首先找到你的sdk路径,然后cd build-tools,ls查看一下你都下载了哪些buildtools的版本。如果没有你原创 2016-08-16 13:21:14 · 29118 阅读 · 0 评论 -
ubuntu安装配置Android+jenkins+gradle遇到的坑
首先你需要下载jenkinswget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -配置sources.list在 /etc/apt/sources.list加上 deb http://pkg.jenkins-ci.org/debian binary/安装jenki原创 2016-08-17 11:46:59 · 1276 阅读 · 0 评论 -
Android设置文件权限的方法
第一种方法:通过执行授权命令Runtime chg = Runtime.getRuntime();try { chg.exec("chmod 777" + " " + recordPath).waitFor();} catch (Exception e) { Log.e(TAG, "chmod failed! path = " + recordPath);} 第二种方原创 2016-10-19 09:28:37 · 3479 阅读 · 0 评论 -
Android设置全屏模式
//去除标题 requestWindowFeature(Window.FEATURE_NO_TITLE);//设置全屏 getWindow().setFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParam原创 2016-10-19 09:24:28 · 412 阅读 · 0 评论 -
Android代码中获取Logcat日志信息
平时我们通过usb连接手机,然后使用adb logcat -v time > d:\xx的方式获取locat信息,但是如何在APK中编程让APP自动获取logcat信息。 方法一:使用Runtime.getRuntime().exec()来执行shell命令,具体代码举例如下: try { ArrayList commandLine转载 2016-08-15 09:36:43 · 21450 阅读 · 5 评论 -
Android动态加载so文件
在Android中调用动态库文件(*.so)都是通过jni的方式,而且往往在apk或jar包中调用so文件时,都要将对应so文件打包进apk或jar包,工程目录下图:以上方式的存在的问题:1、缺少灵活性比较类似静态加载了(不是静态加载),能加载的so文件绑定死了;2、但so文件很多或很大时,会导致对应的apk和jar包很大;3、不能动态的对so文件更新;转载 2016-08-12 10:06:32 · 1751 阅读 · 0 评论 -
Android Studio 常用的快捷键
Parameter Info 提示方法参数code completion 设置node不区分大小写(非快捷键)Duplicate Lines 复制光标所在一行的内容Delete Line 删除光标所在一行的内容Basic 代码提示 (Smart Type+Class Name Completion)Reveal in Finder 打开文件所在的Finder的位置Back原创 2016-07-29 17:12:28 · 598 阅读 · 0 评论 -
Gradle 完整指南(Android)
本文谢绝转载,非要转载,请注明出处http://www.jianshu.com/p/9df3c3b6067a前言为什么需要学Gradle?Gradle 是 Android 现在主流的编译工具,虽然在Gradle 出现之前和之后都有对应更快的编译工具出现,但是 Gradle 的优势就在于它是亲儿子,Gradle 确实比较慢,这和它的编译过程有关,但是现在的Gradle 编译速度已经有了成转载 2016-09-13 10:54:41 · 794 阅读 · 0 评论 -
Android之滑动view
123dependencies { compile 'com.wuxiaolong.pullloadmorerecyclerview:library:1.0.4'}build.gradle文件中只写上如上一行,就能在Android Studio中引入你的library到项目中,这样岂不是酷比了。之前github上分享一个简单的库,这两天花了点时间研究了转载 2016-08-27 11:08:26 · 517 阅读 · 0 评论