直接在Gradle中明文写上用户名、密码不仅会涉及安全性问题,更为Git的管理带来诸多不便。 有一个变通的方法如下: 新建一个Gradle属性文件~/.gradle/gradle.properties,可以将用户名、密码以变量的形式存入文本: NEXUS_USER=yourname NEXUS_P
流程梳理 ScanRequestProxy // Check and throttle scan request unless, // a) App has either NETWORK_SETTINGS or NETWORK_SETUP_WIZARD permission.
对接串口扫码器,参考 Github上开源的串口通讯库https://github.com/cepr/android-serialport-api实现扫码器通讯。 集成 Android Studio使用 cmake编译,将SerialPort.c/SerialPort.h两个文件拷贝到 cpp 文件夹
前言 公司的设备以前接入的都是串口的扫码头,优点是直接通过串口读取流里面的数据就OK了,缺点是需要知道每一款扫码器的型号以获取波特率及Android设备的串口地址。因为现在usb扫码器越来越方便且即插即用,不需要额外供电以及价格便宜等特点,公司以后开发的设备都打算采用usb扫码器。所以开始尝试接入u
拦截dispatchKeyEvent方法 重写dispatchKeyEvent方法 @Override public boolean dispatchKeyEvent(KeyEvent event) { toolScanner.analysisKeyEvent(event); ret
在 Android P 中,不能从非 Activity 环境中启动 Activity,除非传递 Intent 标志 FLAG_ACTIVITY_NEW_TASK。 如果您尝试在不传递此标志的情况下启动 Activity,则该 Activity 不会启动,系统会在日志中输出一则消息: Calling
Android USB开发模式 Android中USB有两种开发模式,一种是host模式,另一种是accessory模式,下面介绍一下这两种模式。 (1)Host模式:如图,此模式中,Android设备充当主机,给USB外部设备供电,常见的Host模式有:鼠标、键盘等。 (2)Accessory模式
FreeReflection FreeReflection is a library that lets you use reflection without any restriction above Android P (includes Q). Github: https://github.c
技术背景 独立开发,集成打包 让App内各个功能模块能够独立开发单元测试,也可以所有模块集成打包,统一测试 独立开发 更改build.gradle的配置,使得每个功能模块都成为application,可以独立打包成apk,单独运行。单个模块,独立测试。 集成打包 更改build.gradle的配置
我们已经实现了启动没有在menifest中注册的Activity的效果,然而,这样做到底在生产开发中有什么样的应用呢? 答案:插件化 插件化是一个宽泛的概念,只要是实现了宿主app上插件功能的灵活拔插,实现了宿主app业务和插件功能的完全解耦,就可以称之为插件化 原理是用宿主中真实Activit
正常开发中,所有Activity都要在AndroidManifest.xml中进行注册,才可以正常跳转。通过hook,可以绕过系统对activity注册的检测,即使不注册,也可以正常跳转。 整体思路 我们已经实现Activity启动流程的hook,最终采用的方案,是Hook AMS,实现全局star
两种启动Activity的方式源码追踪 源码基于 SDK 28 ~ Android 9.0 方式1:使用Activity自带的startActivity 代码示例 private void startActivityByActivity() { Intent i = new Intent(
支付宝APP本身更像是一个"空壳",里面可以搭载很多小功能,这些小功能都是以"插件"的形式存在,支持小功能的灵活配置,用户不想要某个功能,可以不显示出来。插件化开发是当下大型APP必备的一项技术。 插件化开发的核心难点 根据引子中所说,支付宝中各种各样的功能
产品要求app里面的图表要实现白天黑夜模式的切换,以满足不同光线下都能保证足够的图表清晰度。怎么办?可能解决的办法很多,可以给图表view增加一个toggle方法,参数String,day/night,然后切换之后postInvalidate刷新重绘。OK,可行,但是这种方式切换白天黑夜,只是单个V
目前最热门的热更新由两种:一种是腾讯Tinker为代表的,需重启app的热更新;一种是美团app为代表的Instant Run,无需重启app 背景描述 产品已经上线,此时由于引起bug的代码只有一行,机智的程序员用最快的方式修复了这个bug,也只是改了一行代码。那么,产品已经在线上,怎么办? 我