目录1.介绍2.为什么要用ConstraintLayout3.如何使用ConstraintLayout3.1 添加依赖3.2 相对定位3.3 角度定位3.4 边距3.5 居中和偏移3.6 尺寸约束3.7 链4.辅助工具4.1 Optimizer4.2 Barrier4.3 Group4.4 Placeholder4.5.Guideline5.总结1.介绍约束布局ConstraintLayout 是一个ViewGroup,可以在Api9以上的Android系统使用它,它的出现主要是为了解决布局嵌套过多的问题,以灵活的方式定位和调整小部件。从 Android Studio 2.3 起,官方的模板默 ...... 点击进入阅读
Android的网络服务发现协议(Net service discovery,基于mDNS),网络服务发现 (NSD) 可让您的应用访问其他设备在本地网络上提供的服务。支持 NSD 的设备包括打印机、网络摄像头、HTTPS 服务器以及其他移动设备。NSD 实现了基于 DNS 的服务发现 (DNS-SD) 机制,该机制允许您的应用通过指定服务类型和提供所需类型服务的设备实例的名称来请求服务。Android 和其他移动平台均支持 DNS-SD。将 NSD 添加到应用中,可让您的用户识别本地网络上是否有其他设备支持您的应用所请求的服务。这对于各种点对点应用非常有用,例如文件共享或多人游戏。Andro ...... 点击进入阅读
The Network Service Discovery Manager class provides the API to discover services on a network. As an example, if device A and device B are connected over a Wi-Fi network, a game registered on device A can be discovered by a game on device B. Another example use case is an application discovering pr ...... 点击进入阅读
想开发网页爬虫,发现被反爬了?想对 App 抓包,发现数据被加密了?不要担心,使用 Airtest 开发 App 爬虫,只要人眼能看到,你就能抓到,最快只需要2分钟,兼容 Unity3D、Cocos2dx-*、Android 原生 App、iOS App、Windows Mobile……。Airtest是网易开发的手机UI界面自动化测试工具,它原本的目的是通过所见即所得,截图点击等等功能,简化手机App图形界面测试代码编写工作。爬虫开发本着天下工具为我所用,能让我获取数据的工具都能用来开发爬虫这一信念,决定使用Airtest来开发手机App爬虫。安装和使用由于本文的目的是介绍如何使用Airte ...... 点击进入阅读
目录概述简单示例ELF文件格式初探装载、动态链接与重定位PLT与GOT如何定位基址?如何修改呢?解析基址和偏移思考和小结概述我们日常开发中编写的C/C++代码经过NDK进行编译和链接之后,生成的动态链接库或可执行文件都是ELF格式的,它也是Linux的主要可执行文件格式。我们今天就要借助一个示例来理解一下android平台下native层hook的操作和原理,不过在这之前,我们还是要先了解一下ELF相关的内容。简单示例这里给了一段示例代码:写入一段文本到文件中去。为了简单起见,后面的都是以armeabi-v7a为例void writeText(const char *path, const c ...... 点击进入阅读
关于虚拟机1. 虚拟机是什么?众所周知Java程序是运行在虚拟机(JVM)上的,而安卓之前的官方语言正是Java,所以在安卓中也会存在虚拟机的概念。虚拟机存在的意义是什么呢?其实虚拟机相当于一个“翻译官”的角色,Java语言无法直接与系统进行交互,而虚拟机便起到了一个翻译的作用。我们经常提到Java是一个跨平台、平台无关的编程语言,也正是因为不管是Linux还是Windows操作系统,只要有虚拟机做翻译我们的程序便可正常运行,同样的也不管语言差别,只要虚拟机可以翻译便可以与系统进行正常的交互。2. 虚拟机的工作流程以Java虚拟机(JVM)为例,它的工作流程大致如下:(1) 因为在JVM中执行 ...... 点击进入阅读
本页详细介绍了为 Android 设备构建自定义内核的流程。以下说明会逐步指导您如何选择正确的源代码,编译内核,以及将结果嵌入到根据 Android 开源项目 (AOSP) 编译的系统映像中。您可以使用 Repo 获取最新的内核源代码,并通过在源代码检出的根目录下运行build/build.sh来编译这些内核源代码,而无需更多配置。注意:内核源代码检出的根目录包含build/build.sh。Android 树仅包含预编译的内核二进制文件。内核树包含内核源代码和用于编译内核的所有工具,包括此脚本。对于较旧的内核或下文未列出的内核,请参阅有关如何编译旧版内核的说明。下载源代码和编译工具对于最新的 ...... 点击进入阅读
crownless:目前,通过容器技术和虚拟化技术,可以实现安卓APP多开、定制、代码注入、进行各种控制,这给DIY甚至是灰产、黑产开辟了新的可能性,而且可以躲避一些杀毒软件对恶意代码的查杀。为了实现容器,需要对底层的技术有着深刻的理解,而且要考虑到易用程度。容器技术不仅是一门技术,也是一门艺术!嘉宾介绍邓维佳(ID:virjar),毕业于四川大学软件工程专业。目前致力于Android安全相关技术研究,包括App加固脱壳、Android群控技术、Android多开容器等。讲师围绕Android容器,介绍了目前开源的容器方案和实现,展现了多种思路,通过他的演讲,观众深入理解了多开机制,以及如何通 ...... 点击进入阅读
背景光速虚拟机是基于安卓系统和ARM处理器架构实现的一套虚拟化技术,在安卓系统的用户态空间无需特殊权限实现了一套完整的安卓内核和硬件抽象层,能够在安卓APP内部运行另外一个安卓系统,虚拟机内部的APP和游戏运行性能能够接近真机的运行性能和兼容性。光速虚拟机也可以认为是一种安卓系统上的库操作系统(libos)。从行业的情况来看,微软和Google分别在不同系统上实现过类似的方案,微软DrawBridge是在Windows上实现Windows,以及其后续发展出来的WSL是Windows上实现linux,Google的gVisor则是linux上实现linux。光速虚拟机是通过安卓来实现安卓。光速虚 ...... 点击进入阅读
车载导航的开发中,有可能需要开发支持Android CarLife或者Android Weblink等功能,而这些功能需要使用AOA协议的支持。因此,下面的文章将简单介绍AOA的相关知识。简介Google 官方AOA 的定义:https://source.android.com/accessories/protocol.htmlGoogle 官方提供了 adk2012 开发套件(包含 Android 端和 Accessory 端的源码,Accessory 的参考设计为 Arduino 平台):http://developer.android.com/tools/adk/index.html1、 ...... 点击进入阅读
零 USB背景知识USB是一种数据通信方式,也是一种数据总线,而且是最复杂的总线之一。硬件上,它是用插头连接。一边是公头(plug),一边是母头(receptacle)。例如,PC上的插座就是母头,USB设备使用公头与PC连接。目前USB硬件接口分三种,普通PC上使用的叫Type;原来诺基亚功能机时代的接口为Mini USB;目前Android手机使用的Micro USB。HostUSB是由Host端控制整个总线的数据传输的。单个USB总线上,只能有一个Host。OTGOn The Go,这是在USB2.0引入的一种mode,提出了一个新的概念叫主机协商协议(Host Negotiation ...... 点击进入阅读
USB的ADB/AOA协议(一种是ADB模式,一种是AOA模式)。AOA协议是Google公司推出的用于实现Android设备与外围设备之间USB通信的协议。ADK中与USB配件模式相关的两个类是UsbManager和UsbAccessory。 USBAndroid实战技巧之四十九:Usb通信之USB Host- http://blog.csdn.net/lincyang/article/details/50739342Android手机通过USB接口与外设通信研究(附原理分析及方案选型)- http://blog.csdn.net/HowieXue/article/details/79167 ...... 点击进入阅读
研究android2android aoa通讯时,在网上查询了很多资料,这些资料对Accessory模式的描述,在研究过程中造成了很大的困扰,故此先对基本信息进行介绍。1.1 Host模式与Accessory模式的区别1.png1.2 Accessory端的PID/VIDVID固定为Google的官方VID–0x18D1 PID在不同的模式下定义如下: ●0x2D00-accessory ●0x2D01-accessory+adb ●0x2D02-audio ●0x2D03-audio+adb ●0x2D04-accessory+audio ●0x2D ...... 点击进入阅读
以下文章整理来源自大旗和iot全屋智能,详细收集了完整的ble协议栈和android开发之时。感谢大棋,整理了“android BLE开发”的四部曲android蓝牙BLE(一) —— 扫描android蓝牙BLE(二) —— 通信android蓝牙BLE(三) —— 广播android蓝牙BLE(四) —— 实战感谢IoT全屋智能,整理了“蓝牙协议栈系列”文章1.低功耗蓝牙(BLE)协议栈介绍2.BLE协议栈 – 物理层(Physical Layer)3.BLE协议栈 – 链路层(Link Layer)4.BLE协议栈 – HCI5.BLE协议栈 – L2CAP6.BLE协议栈 – ATT7 ...... 点击进入阅读
接口原型 - IT教程,计算机教程,API相关DEMO