![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android之路
文章平均质量分 53
QQxiaoqiang1573
这个作者很懒,什么都没留下…
展开
-
Android Studio 修改默认代码仓库为阿里仓库
由于墙的关系,我们在使用 Android Stdio 配置 Gradle 时,使用默认的 google() 和 jcenter() 库,会下载不了我们需要的一些库文件,导致整个工程编译不过。怎么办?FQ?条件有限,这里我们可以通过使用阿里云代理的方式实现快速部署代码仓库的问题。方法如下:找到工程的 build.gradle 文件,将 google() 和 jcenter() 替换为下面的地址即可。这些我们就可以正常的编译我们的工程啦。repositories {// google()/原创 2021-02-03 18:02:35 · 1258 阅读 · 0 评论 -
获取 Android 设备 屏幕,内存,存储大小
获取内存总大小ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);ActivityManager.MemoryInfo info = new ActivityManager.MemoryInfo();am.getMemoryInfo(info);info.tota...原创 2020-04-23 11:12:36 · 535 阅读 · 0 评论 -
AndroidStudio 添加系统签名
在做 Android 系统定制时,开发自家的 APP,可能会需要使用到一些特殊的权限,系统相关的 API 等等。因此,APP 自身需要有系统签名才能使用这些权限和 API。那我们要怎么获取系统签名,并给 APP 签上系统签名呢?下面讲解三种签名方式。第一种:系统编译签名在相应 APP 工程目录的mk文件中,添加下面这句话即可:...LOCAL_CERTIFICATE := platform...原创 2020-03-30 16:41:28 · 3615 阅读 · 3 评论 -
AndroidStudio 导入 framework.jar 并优先使用其提供的API
第一步:将编译好的framework.jar(out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar)拷贝到 AndroidStudio 相应工程的 libs 目录下(Project/app/libs)第二步:在 AndroidStudio 中选中 framework.jar 右键选择 Add As L...原创 2020-01-17 14:27:33 · 3301 阅读 · 3 评论 -
Android快速编译烧录system.img的方法
快速编译 system.img分别执行下面3条指令。编译命令如下:. build/envsetup.shlunchmake systemimage -j8编译生成后的 system.img 路径out/target/product/xxx/system.img快速烧录 system.img在PC端分别执行下面3条指令即可烧录system.img到Android设备中啦。adb ...原创 2020-01-10 15:18:30 · 3500 阅读 · 1 评论 -
Android WindManager Addview 监听按键事件
监听 Home,Menu 按键的广播IntentFilter filter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);mContext.registerReceiver(mHomeListenerReceiver, filter);private BroadcastReceiver mHomeListenerReceive...原创 2019-10-28 19:18:41 · 1763 阅读 · 0 评论 -
Android 无需 root 卸载系统应用
卸载应用的命令adb shell pm uninstall [-k] [--user USER_ID] 包名-k : 卸载应用但保留数据和缓存--user 指定用户 id : Android 系统支持多个用户,默认系统用户只有一个,id=0。卸载系统应用(例:系统自带的计算器)不指定用户ID当我们不设置用户ID的时候,卸载系统应用是不成功的。adb shell pm unins...原创 2019-10-21 14:06:28 · 4980 阅读 · 0 评论 -
Log.isLoggable之一正确的使用姿势
简介我们在Android APP开发时,多多少少需要打印Log,伴随着Log的打印就有一个打印开关是否允许打印Log,本文要讲的就是这个打印开关Log.isLoggable的使用和源码解析。DEBUG方法比较当我们在做APP开发时,需要设置调试开关打印Log,下面我列举出3种方法: - 方法一:直接赋值public static final boolean DEBUG = true;//false原创 2017-06-05 15:27:20 · 20400 阅读 · 0 评论 -
Log.isLoggable之二源码解析
简介上一篇文章Log.isLoggable之一正确的使用姿势讲了Log.isLoggable使用,本文就来讲讲isLoggable的源码实现。Log.isLoggable源码分析首先,来看看Log.java中isLoggable的实现。通过源码我们可以知道isLoggable是一个JNI方法是通过CPP实现的。但是这里也有比较详细的注释。如果英文比较好的同学可以看下英文注解,这里就不细说了,直接看C原创 2017-06-05 20:11:57 · 1527 阅读 · 0 评论 -
Android Studio导入整个Android系统源码
简介偶然发现一个神器idegen,通过它我们可以用Android Studio阅读整个系统源码,非常方便。话不多说直接来看怎么使用idegen,导入系统源码到Android Studio。见证奇迹的时候Windows环境下,将整个Android系统源码导入到Android Studio中。 首先,我们要做的就是在源码环境下,即Linux环境下,执行以下命令:$ source build/envse原创 2017-06-07 19:58:29 · 33363 阅读 · 2 评论 -
常用命令
转载自: 常用命令单独下载一个projectgit clone http://myrepo.xxx.com/project/.git ,这样在当前目录下得到一个project子目录 例如下载alps/frameworks/av"mtk_N/alps/external/skia" path="alps/external/skia" />对应的命令为:git clone转载 2018-01-24 10:28:17 · 525 阅读 · 0 评论 -
Android 6.0系统音量相关小知识点
系统默认的音量值frameworks/base/media/java/android/media/AudioSystem.javapublic static int[] DEFAULT_STREAM_VOLUME = new int[] { 4, // STREAM_VOICE_CALL 15, // STREAM_SYSTEM 8, // STREAM_RING原创 2017-05-09 15:38:38 · 1061 阅读 · 0 评论 -
Android 6.0系统开发遇到的问题收集贴
问题一:android 6.0编译时出现ERROR:Security problem ,see jack server log方法一export JACK_JAR=./out/host/linux-x86/framework/jack.jar./out/host/linux-x86/bin/jack-admin stop-server./out/host/linux-x86/bin/jack-a原创 2017-01-24 11:49:18 · 1908 阅读 · 0 评论 -
Android Studio问题收集贴
Error:(2, 0) No service of type Factory available in ProjectScopeServices.compile报下面的错误 Error:(2, 0) No service of type Factory available in ProjectScopeServices.点击open file 会跳转到apply plugin: ‘com.g原创 2017-02-07 20:04:57 · 433 阅读 · 0 评论 -
如何用adb控制MTKLogger
[DESCRIPTION] 如何通过adb command去控制MTKLogger 开关,设定log路径等等。[KEYWORD]MTKLogger adb控制 路径 大小[SOLUTION]开启/关闭 adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name start/stop –ei cmd_target转载 2017-03-17 17:38:52 · 2537 阅读 · 0 评论 -
Android 解决Smart Lock 打不开的问题
在android 5.1的系统,使用Smart Lock时遇到这个问题,特此记下。12-20 09:30:43.471: D/CameraHal(118): camera_get_camera_info(1307): camera_get_camera_info(1307): camera_0 facing(0), orientation(0)12-20 09:30:43.473: D/Camer原创 2016-12-20 15:42:01 · 8432 阅读 · 0 评论 -
linux /proc/cpuinfo文件分析
转载地址:http://blog.csdn.net/lgstudyvc/article/details/7889364 /proc/cpuinfo文件分析 在Linux系统中,提供了proc文件系统显示系统的软硬件信息。如果想了解系统中CPU的提供商和相关配置信息,则可以通过/proc/cpuinfo文件得到。本文章针对该文件进行简单的总结。 基于不同指令集(ISA)的CPU产生的/proc转载 2016-11-29 17:58:24 · 1154 阅读 · 0 评论 -
android中使用wifi来adb
在平时的工作中,我们调试android工程一般都是通过调试线连上机器的,这样多多少少会限制到我们的开发测试,但是有了wifi调试后,我们就可以不用带着 android机器,调试线到处跑啦。现在来看看要怎么做,才能使用wifi调试android机器。前提条件在执行下面操作前,要将USB调试线连接上电脑,确保在有线状态下能使用adb调试机器。手动方式实现WIFI的调试adb shell ifconfig原创 2016-01-19 17:52:30 · 993 阅读 · 0 评论 -
Android SDK platforms build-tools等镜像下载
转载地址下载地址:http://mirrors.neusoft.edu.cn/android/repository/ 这是一个神奇的网站,Android开发最新的包和工具都在这里面可以下到。Gradle Distributions下载网址:http://services.gradle.org/distributions转载 2017-06-15 09:43:11 · 4344 阅读 · 1 评论 -
Android 系统广播Intent Action常量
1、Intent.ACTION_AIRPLANE_MODE_CHANGED //关闭或打开飞行模式时的广播2、Intent.ACTION_BATTERY_CHANGED //充电状态,或者电池的电量发生变化 //电池的充电状态、电荷级别改变,不能通过组建声明接收这个广播,只有通过Context.registerReceiver()注册3、Intent.ACTION_BATTERY_LOW //表示原创 2017-09-05 17:03:43 · 1775 阅读 · 0 评论 -
UTF-16BE、UTF-16LE、UTF-16 三者之间的区别
简介实际项目开发中,我们有时候可能需要将字符串转换成字节数组,而转化字节数组跟编码格式有关,不同的编码格式转化的字节数组不一样。下面列举了java支持的几种编码格式:US-ASCII Seven-bit ASCII, a.k.a. ISO646-US, a.k.a. the Basic Latin block of the Unicode character setISO-8859-1 ...原创 2018-12-10 12:11:49 · 48916 阅读 · 1 评论 -
EventBus 最新上手指南
简介EventBus 是一款针对 Android 优化的发布/订阅事件总线。主要功能是替代 Intent,Handler,BroadCast在 Fragment,Activity,Service,线程之间传递消息。优点是开销小,代码更优雅。以及将发送者和接收者解耦。EventBus 官网EventBus GitHub使用第一步:定义 events 对象public class M...原创 2018-10-12 17:40:17 · 736 阅读 · 0 评论 -
Android中CountDownLatch实现多线程同步
简介CountDownLatch 通过它的名字也能猜出一二来,Countdown 顾名思义倒计时,Latch可以理解为触发或者发射。也就是说当倒数到0时就可以发射火箭啦,在线程中就是一个等待的线程,当 countdown 到 0 就不用再等待了,可以向下执行任务了。上面分析了一下 CountdownLatch 的概念,相信大家也能体会它的使用场景了。在多个线程中,如果某个线程需要等待其他几个线...原创 2018-10-11 10:15:20 · 4407 阅读 · 4 评论 -
Android中ConditionVariable实现多线程同步
简介ConditionVariable 是一个实现多线程同步的类,是对 Object 方法中的 wait() 和 notify() 的封装。其提供了三个方法 open()、close()、block() 简化了多线程的同步操作。通过这个类我们可以非常便利的实现多线程的同步操作。使用用法先来看下它的使用方法,下面的例子是一个简化版的利用ConditionVariable实现的生产者消费者模式的...原创 2018-09-25 16:46:31 · 1050 阅读 · 0 评论 -
eclipse给引用的jar包添加源码包
简介我们在使用第三方开源的 jar 包时,大部分都会提供对应的 source 包。但我们大部分时候是没有去使用这个 source 包的。why?因为我们只需要用到 jar 包中的 api 呀,不需要知道其实现。but 作为一个合格的开发人员,不能只停留在使用别人 api 的层面上呀。如果遇到一些陌生的api,不知道其用法怎么办?利用各大搜索引擎去找资料,如果遇上这个 api 通用性比较高还好,...原创 2018-09-05 13:58:15 · 8268 阅读 · 0 评论 -
Android adb 查看进程优先级
简介有时候我们想要知道某个app在系统进程中的优先级,有什么办法可以查看吗?答案是有的,通过adb命令的方式,我们可以获取进程在系统中的优先级。下面来看下具体操作:步骤第一步:获取进程pidC:\Users\xxx>adb shell psUSER PID PPID VSIZE RSS WCHAN PC NAME...原创 2018-04-18 13:51:18 · 11169 阅读 · 0 评论 -
Android setSystemUiVisibility详解
简介本文主要讲解setSystemUiVisibility方法中的参数各个属性标志对应的用法和实际效果。主要讲解的标志有: - SYSTEM_UI_FLAG_LOW_PROFILE - SYSTEM_UI_FLAG_HIDE_NAVIGATION - SYSTEM_UI_FLAG_FULLSCREEN - SYSTEM_UI_FLAG_LAYOUT_STABLE - SYSTEM_U...原创 2018-04-09 15:22:20 · 38102 阅读 · 10 评论 -
Android 4.4.2 exfat 移植
简介Android原生的平台不支持NTFS和exFAT格式的文件系统,但是Linux已经有相应的开源代码,因此只需找到相应的源码将其移植到Android上即可。我目前使用的系统是Android 4.4.2的,系统里已经集成了对NTFS文件系统的支持。所以我现在要做的就是将exFAT格式的文件系统移植过来。基本概念exFAT(Extended File Allocation Table),又名FAT6原创 2017-11-14 20:19:28 · 4928 阅读 · 1 评论 -
自定义ProgressBar png样式支持直角显示
两个png图片组合的ProgressBar,如图: drawable/aircondition_wind_seekbar_bg.xml<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="原创 2017-09-01 14:08:08 · 634 阅读 · 0 评论 -
腾讯 百度 高德 Google 地图导航 实现
转载地址:http://blog.csdn.net/laozhumakelovemanuo/article/details/74025339最近做地图导航功能,顾实现这四种地图导航功能,代码如下: 高德地图代码:public static void openGaoDeMap(Context context, String name, String lat, String log) {转载 2017-09-05 17:08:10 · 1046 阅读 · 2 评论 -
解决Android中按电源键锁屏然后旋转屏幕解锁onDestory被调用
解决方案Android中按电源键锁屏然后旋转屏幕解锁这个时候onDestory会被调用以及屏幕旋转时也会被调用,打印消息如下:09-01 09:27:30.900: D/TAG(27866): onCreate09-01 09:30:50.600: D/TAG(27866): onDestroy09-01 09:30:50.700: D/TAG(27866): onCreate09-01 09原创 2016-09-01 09:59:48 · 2137 阅读 · 0 评论 -
Android SDK和API Level的对应关系
获取系统sdk版本:adb shell getprop ro.build.version.release获取系统api版本:adb shell getprop ro.build.version.sdkandroid sdk和api对照表 官方网站:http://source.Android.com/source/build-numbers.html原创 2016-09-30 14:19:22 · 1982 阅读 · 0 评论 -
Android 获取时间制式的方法
使用Settings.System.getString方法获取,代码如下:ContentResolver cv = this.getContentResolver();String strTimeFormat = android.provider.Settings.System.getString(cv, android.provider.Settings.System.TIME_12_24);用原创 2016-10-13 11:53:50 · 2154 阅读 · 0 评论 -
Android安装卸载探究
花了几天时间终于把android安装卸载这块的东西,了解了个一二三。普通安装卸载普通安装卸载这块就不多说了,直接使用下面的方法就可以实现安装和下载了(不需要声明任何权限),不过普通的方式会弹出对话框,让用户来选择是否安装和卸载等等操作。/** * 普通安装 * @param context * @param filePath 文件绝对路径 */ pub原创 2016-01-12 20:08:39 · 1065 阅读 · 0 评论 -
AndroidManifest.xml中一些权限的注释
android.permission.ACCESS_CHECKIN_PROPERTIES//允许读写访问”properties”表在checkin数据库中,改值可以修改上传android.permission.ACCESS_COARSE_LOCATION//允许一个程序访问CellID或WiFi热点来获取粗略的位置android.permission.ACCESS_FINE_LOCATION//允许原创 2016-01-11 18:59:13 · 1651 阅读 · 0 评论 -
dp,sp,px之间的转化
为了做到屏幕适配,有时候就需要做px,dp,sp之间的转化,下面就提供一个这样的类来解决这个问题。话不多说,直接看代码。DisplayUtil.javaimport android.content.Context;public class DisplayUtil { public static int dp2px(Context context, float dp) { flo原创 2016-01-25 20:17:44 · 477 阅读 · 0 评论 -
Toast只显示最后一条
在做Android开发中,时不时的可能会用到Toast,但用Toast的时候,连续使用会存在一个问题,就是一条条显示Toast。而不是直接显示最后一条。因此,根据此需求,现在写了ToastUtil这个类,该类中有三个方法供选择。ToastUtil.javaimport android.content.Context;import android.graphics.PixelFormat;impo原创 2016-01-08 15:55:24 · 1193 阅读 · 2 评论 -
java.lang.NoClassDefFoundError: net.youmi.android.AdManager
关于java.lang.NoClassDefFoundError:net.youmi.android.AdManager这个问题的解决方法,编译时是正常,运行时就报这个错误。为了解决这个问题真是花了几天时间啊,终于让我找到了原因。引起这个问题可能是因为引用第三方jar包使用的jdk版本比本地的jdk版本高。例如,我本地的jdk是1.6的,导入youmi v5.3.3的sdk版本是就会报java.la原创 2016-01-05 13:59:21 · 1199 阅读 · 0 评论 -
Android屏幕适配方案:产品级的解决方案
1、概述 大家在Android开发时,肯定会觉得屏幕适配是个尤其痛苦的事,各种屏幕尺寸适配起来蛋疼无比。如果我们换个角度我们看下这个问题,不知道大家有没有了解过web前端开发,或者说大家对于网页都不陌生吧,其实适配的问题在web页面的设计中理论上也存在,为什么这么说呢?电脑的显示器的分辨率、包括手机分辨率,我敢说分辨率的种类远超过Android设备的分辨率,那么有一个很奇怪的现象:为什么Web页面设转载 2016-01-23 15:44:15 · 832 阅读 · 0 评论 -
keystore的初探
eclipse默认的debug.keystore存放位置Eclipse菜单的Window -> Preferences -> Android –> Build指令方式生成签名生成签名keystore$keytool -genkey -v -keystore app.keystore -alias alias_app -keyalg RSA -validity 20000签名$jarsigne原创 2015-12-05 14:15:22 · 634 阅读 · 0 评论