自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Android小码农的博客

十年生死两茫茫,写程序,到天亮。千行代码,Bug何处藏。 纵使上线又怎样,朝令改,夕断肠。 领导每天新想法,天天改,日日忙。相顾无言,惟有泪千行。每晚灯火阑珊处,夜难寐,又加班。...

转载 Android SDK目录及版本号区别

今天又有人问Tools,Build-Tools,Platform-tools有什么区别,是干嘛的? 现在对SDK目录做一下总结阐述! SDK目录 add-ones add-ones:里面保存着一些附加的库,第三方公司为Android平台开发的附加功能系统。比如GoogleMaps 。(一开始...

2018-09-18 11:07:03 1497 0

转载 Android官方技术文档翻译——清单合并

本文译自Android官方技术文档《Manifest Merger》,原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger。 翻译不易,转载请注明CSDN博客上的出处: http:...

2018-09-18 10:53:28 259 0

转载 JAVA虚拟机、Dalvik虚拟机和ART虚拟机简要对比

1、什么是JVM? JVM本质上就是一个软件,是计算机硬件的一层软件抽象,在这之上才能够运行Java程序,JAVA在编译后会生成类似于汇编语言的JVM字节码,与C语言编译后产生的汇编语言不同的是,C编译成的汇编语言会直接在硬件上跑,但JAVA编译后生成的字节码是在JVM上跑,需要由JVM...

2017-11-23 09:45:31 191 0

转载 Android各版本代号、版本号、API/NDK级别、发布时间及市场份额

API Level 最初Android版本 Linux内核版本 首次发布日期 后续Android版本 28 9 Unknown 2018-07-02(Beta 3) - 27 8.1 4.10 2017-12-05 无...

2017-11-23 09:16:55 978 0

转载 Android 系统服务一览表

1.AccountManagerService Android账户服务,提供了对账户、密码、授权的集中管理。 2.AccessibilityManagerService 辅助管理程序截获所有的用户输入,并根据这些输入给用户一些额外的反馈,起到辅助的效果,View的点击、焦点等事件分发管理服。...

2017-11-22 10:15:09 594 0

转载 Android系统开篇

转载自:http://gityuan.com/android/ 一、引言 Android系统非常庞大、错综复杂,其底层是采用Linux作为基底,上层采用包含虚拟机的Java层以及Native层,通过系统调用(Syscall)连通系统的内核空间与用户空间。用户空间主要采用C++和Java...

2017-10-23 11:58:33 216 0

转载 Android系统架构与系统源码目录

1.Android系统架构 Android系统架构分为五层,从上到下依次是应用层、应用框架层、系统运行库层、硬件抽象层和Linux内核层。 应用层 系统内置的应用程序以及非系统级的应用程序都是属于应用层。负责与用户进行直接交互,通常都是用Java进行开发的。 应用框架层(Java F...

2017-10-23 11:30:57 456 0

转载 写给Android开发者的混淆使用手册

毫无疑问,混淆是打包过程中最重要的流程之一,在没有特殊原因的情况下,所有 app 都应该开启混淆。 首先,这里说的的混淆其实是包括了代码压缩、代码混淆以及资源压缩等的优化过程。依靠 ProGuard,混淆流程将主项目以及依赖库中未被使用的类、类成员、方法、属性移除,这有助于规避64K方法数的瓶颈...

2017-09-05 09:43:13 363 2

转载 Android Studio gradle配置详解

什么是AppExtension 其实就是一个对gradle配置android项目的一个拓展,对于android studio build.gradle 配置如下的属于AppExtension apply plugin: 'com.android.application' ...

2019-11-20 10:58:14 59 0

转载 git更新类型update type

一、git type的选择 merge 合并 Rebase 保留本地项目代码 Branch Default 保留远程仓库的代码 二、区别 这三者如果没有冲突,update的表现方式是没有区别的,但是如果需要更新的文件和远程仓库有差异,就会有不同的表现 2.1 merge selec...

2019-11-07 17:59:51 362 0

原创 SharedPreferences使用

1.SharedPreferences简介 为了保存软件的设置参数,Android平台为我们提供了一个SharedPreferences接口,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/...

2019-11-07 15:39:15 66 0

转载 Serializable和Parcelable

对象在传递过程中必须进行序列化方可传递,android序列化有两种方式,分别是继承Serializable和Parcelable接口。两种都是用于支持序列化、反序列化话操作,两者最大的区别在于存储媒介的不同,Serializable使用IO读写存储在硬盘上,而Parcelable是直接在内存中读写...

2019-10-25 09:46:05 46 0

原创 Android USB使用

Android开发中USB串口通信开发主要涉及到以下几个类及相应的方法: 1 ,UsbManager:负责管理USB设备的类,你可以在相应代码中通过以下方法获得 //获取UsbManager实例方法 UsbManager manager = (UsbManager) getSystemSer...

2019-10-18 12:00:01 65 0

转载 Fiddler实现手机抓包——小白入门

电脑最好是笔记本,这样能和手机保持统一局域网内;其他不多说,直接说步骤了。 一.对PC(笔记本)参数进行配置 1. 配置fiddler允许监听到https(fiddler默认只抓取http格式的) 打开Fiddler菜单项Tools->TelerikFiddler Options-...

2019-10-17 14:33:30 1956 0

转载 Fiddler 抓包工具总结

序章 Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。反正好处多多,举之不尽呀!当年学习的时候也蛮费劲,一些蛮实用隐藏的小功能用了之后就忘记了,每次去网站上找也很麻烦,所以搜集各大网络的资料,总结了一些常用的功能。 ...

2019-10-17 14:30:20 32 0

转载 @android, ?attr/ 和 ?android 的区别

前言:安卓开发中我们时常会需要引用一些特殊的资源,比如设置一些可点击组件的波纹效果时,我们会用到:android:foreground="?attr/selectableItemBackground",但是这些引用方式之间有哪些区别呢? 1,获取资源 首先来复习一下安卓中获...

2019-10-15 16:30:38 71 0

原创 Android网络请求-HttpURLConnection和继续使用HttpCient的适配

HttpURLConnection和HttpClient比较 : HttpURLConnection书写时比较繁琐,但运行效率较高 HttpClient书写变的容易,并且便于理解,运行效率不如HttpURLConnection HttpURLConnection是一种多用途、轻量极的HTT...

2019-10-12 11:38:47 31 0

原创 Android各种访问权限Permission详解

android.permission.EXPAND_STATUS_BAR允许一个程序扩展收缩在状态栏,android开发网提示应该是一个类似Windows Mobile中的托盘程序 android.permission.FACTORY_TEST作为一个工厂测试程序,运行在root用户 an...

2019-09-27 17:38:11 72 0

转载 Android Studio将module打包并放到github作为远程maven仓库

###环境 1.git 2.Android Studio ###步骤 1.创建作为库的Module 2.生成maven文件 3.在Github创建仓库,并将生成的maven文件上传 4.项目添加远程Maven依赖库 5.验证 这里以新工程为例 1.创建作为库的Module 1.1 ...

2019-09-23 18:07:54 337 0

转载 JitPack - 发布Android库

JitPack.io 是一个 JVM/Android 工程的包管理仓库。开发者可以在上面发布自己的库,一旦成功发布,就可以方便的在 Gradle 中引用。 当然了,Andriod 相关的包管理仓库除了 JitPack 之外,还有 jCenter 等,但 JitPack 应该发布起来是最简单的了。 ...

2019-07-31 09:58:08 133 0

转载 新版Bintray网站发布Library到JCenter

本文介绍了Maven、JCenter、MavenCenter、JitPack、Bintray的概念以及如何在新版的Bintray网站上发布Library并提交到JCenter上 前言 由于Bintray网站增加了Organization的概念,所以我在发布Library的时候发现网上很多文章都...

2019-07-31 09:48:58 85 0

转载 Android studio中NDK开发——使用CMake引入第三方so库及头文件

一、前言 通常来说,第三方提供的so库以及头文件都没有没有引入jni.h头文件。所以我们在导入第三方so库以及头文件的时候需要手动的将其关联到官方的native-lib库中,关联成功后就可以在native-lib中include进第三方头文件,引进头文件成功后就可以在自定义的JNI接口中对第三方...

2019-06-12 16:03:52 1586 0

转载 Android studio中NDK开发——使用CMake构建

一、前言 NDK可以支持使用C/C++来编写Android程序,不但可以引入C/C++中优秀的库资源,而且在使用底层的C/C++来处理一些复杂的运算效率更高,并且可以方便跨平台移植。本篇主要以CMake的方式来构建NDK,主要以最常规的方式创建一个NDKImportDemo,并对自动创建官方例子进...

2019-06-12 15:55:07 157 0

转载 原码、反码、补码知识详细讲解

一. 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1、机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1. 比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就...

2019-06-05 17:23:54 200 0

转载 Android 动画总结

Android 中的动画可以分为以下几类: 逐帧动画 补间动画 属性动画 一、逐帧动画 逐帧动画的原理就是让一系列的静态图片依次播放,利用人眼“视觉暂留”的原理,实现动画。 利用 xml 实现逐帧动画 逐帧动画通常是采用 XML 资源进行定义的,需要在 <animation-li...

2019-04-22 11:10:24 96 0

转载 Android 如何编写基于编译时注解的项目

一、概述 在Android应用开发中,我们常常为了提升开发效率会选择使用一些基于注解的框架,但是由于反射造成一定运行效率的损耗,所以我们会更青睐于编译时注解的框架,例如: butterknife免去我们编写View的初始化以及事件的注入的代码。 EventBus3方便我们实现组建间通讯。 ...

2019-04-18 10:05:18 88 0

转载 你必须知道的APT、annotationProcessor、android-apt、Provided、自定义注解

你可能经常在build.gradle文件中看到,这样的字眼,annotationProcessor、android-apt、Provided,它们到底有什么作用?下面就一起来看看吧 1、什么是APT? 随着一些如ButterKnife,dagger等的开源注解框架的流行,APT的概念也越来越被熟...

2019-04-18 09:33:37 58 0

转载 Java编译时注解处理器(Annotation Processor)详解

上篇文章我们使用注解+反射实现了一个仿ButterKnife功能的示例。考虑到反射是在运行时完成的,多少会影响程序性能。因此,ButterKnife本身并非基于注解+反射来实现的,而是用Annotation Processor在编译时处理注解的。Annotation Processor什么呢?本篇...

2019-04-18 09:21:27 498 0

转载 App打包原理——Android项目构建过程

一)如下是一个apk解压后的目录,我们先有个印象,后面会提到每个目录在构建过程中是如何生成的。 AndroidManifest.xml 程序全局配置文件 classes.dex Dalvik字节码 resources.arsc ...

2019-04-12 10:43:10 76 0

转载 Android逆向基础知识Smali

什么是Smali: 我们用工具反编译一些APP的时候,会看到一个smali文件夹,里面其实就是每个Java类所对应的smali文件。Android虚拟机Dalvik并不是执行java虚拟机JVM编译后生成的class文件,而是执行再重新整合打包后生成的dex文件,dex文件反编译之后就是smal...

2019-04-12 09:21:49 110 0

转载 Android工程师,如何简单高效的学会smali语法

注意:本篇是一个以方法论为导向的文章。 Q1:Smali是什么。 Smali是一种宽松式的Jasmin/dedexer语法. 简单来说就是我们用java写的代码编译成class打包成dex文件后使用baksmali程序逆向回来的一种语法。 Q2:为什么要学习Smali。 首先,提到sm...

2019-04-12 09:16:35 80 0

转载 超实用!常用开源许可证有啥区别。

作为一个开源爱好者,我们经常会写一些开源的软件或者工具在网上分享,或者为一些其他的开源软件贡献一些自己的力量,但是对于开源许可(License)是有很多种的哦,每一种是有不同的约束的,在法治国家是具有法律约束的。 概念 首先我们来了解一些基本的概念。 贡献者(Contributors)&am...

2019-04-03 15:27:48 1370 0

转载 Android Studio中如何使用Git和Github来管理项目

As we know,Git是目前世界上最先进的分布式版本控制系统,而Github是最大的开源社区。在Github上的项目就是使用git来管理的,所以学好Git的使用是很有必要的。下面看具体步骤。 1、要在as中使用git,首先你的在本地安装Git,具体安装流程大家可以看我blog:版本控制工具...

2019-03-20 11:01:22 205 0

转载 HTTPS理论基础及其在Android中的最佳实践

我们知道,HTTP请求都是明文传输的,所谓的明文指的是没有经过加密的信息,如果HTTP请求被黑客拦截,并且里面含有银行卡密码等敏感数据的话,会非常危险。为了解决这个问题,Netscape 公司制定了HTTPS协议,HTTPS可以将数据加密传输,也就是传输的是密文,即便黑客在传输过程中拦截到数据也无...

2019-03-20 09:32:22 103 0

转载 Fiddle详解

序章 Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。反正好处多多,举之不尽呀!当年学习的时候也蛮费劲,一些蛮实用隐藏的小功能用了之后就忘记了,每次去网站上找也很麻烦,所以搜集各大网络的资料,总结了一些常用的功能。 ...

2019-03-19 20:50:13 908 0

原创 打开fiddler 电脑无法上网问题

一、版本信息 Firefox 最新版本V46.0.1 Fiddler 最新版本V4.6.2.3 二、错误信息 开启fiddlers的https协议捕获的方法,百度上可以查到不再赘述,直接放张图(Tools - Fiddlers Options……)。 开启https协议捕获之后,...

2019-03-19 20:16:36 975 1

转载 Fiddler的安装与使用

Fiddler是位于客户端和服务器端之间的代理,也是目前最常用的抓包工具之一 。它能够记录客户端和服务器之间的所有 请求,可以针对特定的请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。 看到这么多的应用,是不是就迫不及...

2019-03-18 15:53:24 383 0

转载 类(class)文件结构

1、类文件介绍 每一个 Class 文件都对应着唯一一个类或接口的定义信息,但是相对地,类或接口并不一定都得定义在文件里(譬如类或接口也可以通过类加载器直接生成)。 本节中,我们只是通俗地将任意一个有效的类或接口所应当满足的格式称为“Class 文件格式”,即使它不一定以磁盘文件的形式存在。 ...

2019-02-25 15:37:46 126 0

转载 java反汇编及JVM指令集(指令码、助记符、功能描述)

1.反编译指令: javap -c xxx.class 2.jvm指令集   JVM指令集(指令码、助记符、功能描述) 指令码 助记符 功能描述 0x00 nop 无操作 ...

2019-02-25 15:29:38 212 0

转载 Android 一共有多少种动画?准确告诉你!

Android 动画 Android 动画在开发中是不可或缺的功能,或者说是界面灵动的添加剂。那你是否总结过 Android 中总共为开发者提供了多少种方式的动画呢?今天就为大家总结归纳一下。 我话音未落,前排那位骚气不减当年、故事布满双眼的大胸弟就激动得高高举起了那只满是老茧的右手:...

2019-02-20 16:06:22 266 0

提示
确定要删除当前文章?
取消 删除