- 博客(11)
- 资源 (3)
- 问答 (4)
- 收藏
- 关注
原创 Android ANR分析实践(二):由输入事件无响应产生的ANR分析及解决
首先,我们简单写一个测试应用,手动制造一个ANR,代码如下public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState...
2018-08-29 17:35:13 6662 5
原创 使用Android Studio中的HierarchyViewer 及UI Automator Viewer定位当前UI界面的代码位置
有时候调试别人写的代码或者是android源码的时候,不知道当前界面的代码位置,那我们如何定位呢?以下,以SnapdragonCamera为例,定位拍照按钮的点击实现。首先我们将设备连接电脑,打开camera如下图:打开Android Studio,打开ADM打开之后,选择HierarchyViewer 选项由上图可知,当前界面所在的Activity为CameraLaunc...
2018-08-29 16:30:20 2127
原创 如何用Android Studio调试Android源码
众所周知,Android源码是Eclipse结构的,我们怎样导入到Android Studio中并进行调试呢?首先,打开Android Studio,点击File-->Open(注意:这里是open而不是import),这里,我们以打开SystemUI为例:接着我们点击上图中的Project Structure按钮,如下所示:选择左边的Modules选项,选中System...
2018-08-29 14:58:14 2941 2
原创 Android 骁龙Camera拍照流程梳理
本文以SnapdragonCamera为例,分析骁龙Camera的拍照流程,其实现与camera2大致相同。首先将SnapdragonCamera源码倒入android studio, 具体操作,可查看如何用Android Studio调试Android源码一文。打开camera,点击拍照,ShutterButton类的performClick()方法会被调用。(如何定位点击拍照会调用Shut...
2018-08-29 13:31:20 4411
原创 Android ANR分析实践(一):ANR是什么、产生的原因及如何避免ANR
一、 什么是ANR ANR,(Application Not Responding) 即应用程序无响应,在android应用中,当我们的UI线程被阻塞,就会弹出如下对话框,用户可以选择继续等待或者关闭这个应用程序,这种现象我们称之为ANR.二、 ANR的类型ANR的类型大致分为以下三种1、主线程对输入事件在5秒内没有处理完毕 ...
2018-08-16 15:07:51 4024
原创 Android 开发之JNI/NDK编程实战(三):Jni编程之调用第三方so库
有时在项目中,我们不需要编写C++代码,而是由C++开发人员提供so库供我们调用,那如何调用第三方so库呢?本文以上文Android 开发之JNI/NDK编程实战(二): Jni编程之使用ndk+gradle生成so库中生成的so库为例。步骤:1.新建项目,拷贝so库到libs目录 2.编写app下的build.gradle脚本,在android节点中加入sourceSets ,...
2018-08-14 14:54:40 581
原创 Android 开发之JNI/NDK编程实战(二): Jni编程之使用ndk+gradle生成so库
在上一篇博客Android 开发之JNI/NDK编程实战(一)中我们介绍了ndk环境的配置,以及如何在android studio3.0中实现jni编程,其原理其实是使用CMake+gradle的方式实现编译生成so库。接下来,我们探讨一下如何使用ndk+gradle的方式生成so库。步骤:1.ndk环境配置 2.新建项目,添加Jni实现类并生成.class文件 3.生成.h头...
2018-08-14 13:27:11 530
原创 Android 开发之JNI/NDK编程实战(一):android studio3.0配置ndk环境实现jni编程
android studio3.0配置ndk环境实现jni编程名词解释: JNI: (Java Native Interface)顾名思义,其为Java 本地的接口调用,使得Java 与 本地其他类型语言(如C、C++)可以交互。 NDK: (Native Development Kit) 是 Android的一个工具开发包,用于快速开发C、 C++的动态库,并自动将so和...
2018-08-13 15:48:08 470
原创 C++开发之Visual Studio 2017 安装与使用
”工欲善其事,必先利其器”,学习一门语言,选择一款高效的IDE(集成开发环境)尤为重要,支持C++的IDE有很多,Visual Studio便是其中之一。 Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等...
2018-08-10 15:35:52 53208 3
原创 Ubantu下搭建Android CTS 兼容性测试环境及单项测试操作步骤
CTS 全称(Compatibility Test Suite),兼容性测试工具,其目的就是让各种Android设备厂商能够开发出兼容性更好的Android设备,同时,Google也提供了一份兼容性标准文档(Compatibility Definition Document, CDD)Android设备只有满足CDD的规定并且通过CTS,才能获得Android的商标和享受Android M...
2018-08-09 16:15:01 3300
原创 Windows下搭建Ubantu环境
在开发中,有时需要使用Linux开发环境(比如编译Android源码),Ubantu无疑是最好的选择。接下来我们就来聊一聊如何搭建Ubantu环境。 Ubantu的安装方式有两种,一种是裸机安装(适用于Linux开发人员),另一种是通过虚拟机安装,本文只讲第二种安装方式。 首先,我们先下载虚拟机,我使用的是VMware-workstation-full-14.1.2 ,V...
2018-08-09 13:37:37 595
用iptables设置 android网络防火墙白名单失效
2017-11-26
Android 长按EditText时程序崩溃(华为4.4的手机),是什么原因?
2016-04-13
android应用手机短信验证注册功能如何实现?
2015-07-27
android中敏感词如何校验?
2015-07-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人