
Android
文章平均质量分 61
Vove7
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
记录 vivo adb logcat 日志打印不全问题
由于使用logcat日志来监听app工作情况,发现在vivo手机上存在不打印结束标志。originOS 对logcat有速率限制,每秒最多250次输出。过滤下app的日志数量以解决。原创 2022-10-21 17:48:38 · 3160 阅读 · 0 评论 -
移动端 [Android iOS] 定制编译 tensorflow-lite
文章目录需求环境过程下载 `tf-lite` 源码尝试编译扩展代码接口提供需求由于端上安全性需要,将模型加载运行等操作使用C++编写封装,保证模型调度算法安全性,加载模型接口内使用自定义加解密算法,保证模型文件安全性。同时考虑到模型调度算法使用移动端开发语言的话,需要将算法移植到两种语言(Java/Kotlin, ObjectC/Swift)中,直接在tf-lite源码基础上扩展会更便捷。同时 tf 源码使用 bazel 编译,编译过程也省心许多,缺点就是编写扩展代码比较费劲。环境OS原创 2022-03-01 14:38:04 · 2791 阅读 · 0 评论 -
安卓无障碍API封装库: Android-Accessibility-Api (2.0)
接上篇:安卓无障碍API封装库: Android-Accessibility-Api 本次2.0更新带来了:添加SmartFinder支持多条件随意组合 搜索支持条件扩展协程支持SmartFinder 介绍1. 自定义条件搜索搜索 AccessibilityNodeInfo.isChecked 为 true 的//SF 为 SmartFinder缩写SF.where { node -> node.isChecked}.find()2. 使用封装条件搜索 id原创 2022-02-16 18:06:34 · 2446 阅读 · 0 评论 -
Mac M1 使用 Android Studio 问题解决记录
Android Studio 在构建项目时,报错:error=86, Bad CPU type in executable意为可执行文件架构不匹配,其中涉及 aapt2, protoc解决方法:终端执行 softwareupdate --install-rosetta原创 2022-02-14 16:54:22 · 2061 阅读 · 1 评论 -
Android google-protobuf proguard-rules
-keep class com.google.protobuf.**# protobuf-keepclassmembers public class * extends com.google.protobuf.MessageLite {*;}-keepclassmembers public class * extends com.google.protobuf.MessageOrBuilder {*;}原创 2021-09-05 15:49:22 · 1143 阅读 · 0 评论 -
Flutter模块打包aar上传maven
文章目录使用原理当flutter在项目中作为模块使用时,Android app工程应用flutter模块一般有两种方式:重定向flutter模块include ':app' setBinding(new Binding([gradle: this])) evaluate(new File(原创 2021-03-19 18:39:13 · 3342 阅读 · 19 评论 -
安卓混淆去除Kotlin @Metadata 和 @DebugMetadata
文章目录问题描述解决方法问题描述在某些Kotlin类文件编译后会留下@Metadata 注解,其中包含重要信息,导致混淆无用。解决方法在 gradle.properties 中添加:android.enableR8.fullMode=true最后效果:参考:https://stackoverflow.com/questions/46219853/how-can-i-obfuscate-my-sdk-coded-with-kotlin-and-get-rid-of-metadata..原创 2020-10-24 10:27:10 · 2044 阅读 · 0 评论 -
安卓无障碍API封装库: Android-Accessibility-Api
Android-Accessibility-ApiGithub >安卓无障碍服务Api, 为了简化无障碍服务使用,并使用 Kotlin 以提供简洁的Api。文章目录Android-Accessibility-Api基础导航视图检索提取文字视图搜索视图节点(ViewNode)全局手势示例Api文档使用引入 Android-Accessibility-Api创建你的服务基础服务手势服务额外配置合并服务基础导航查看代码//无障碍服务声明 未开启会跳转设置页面提示开启服务,并抛出异常 终止原创 2020-06-12 09:46:47 · 5087 阅读 · 12 评论 -
ExpandableListView 监听滑到顶部及滑到底部
最近使用 SpringAnimation 对 ExpandableListView 添加回弹效果。开始使用 scrollY 进行判断,无奈每次获取到的值始终为0,后采用下面这种方式: val isOnTop get() = firstVisiblePosition == 0 && getChildAt(0)?.top == top + paddingTop val isOnBottom get() = lastVisiblePosition == count - 1 &am原创 2020-06-09 15:25:36 · 835 阅读 · 1 评论 -
Android Studio 上的 HttpClient 插件
使用过 IDEA / PyCharm /... (JetBrains家的大部分产品)专业版 的同学可能会知道它们内置了一个叫 HttpClient 的插件。具体像下面这样使用:新建 xxx.http 文件###POST http://localhost:8080/xxxxContent-Type: application/jsonCache-Control: no-cache{"a":1, "b":2} ###GET http://localhost:8080/xxx?pageNo=2原创 2020-05-27 10:48:19 · 1195 阅读 · 1 评论 -
使用Nginx连接远程安卓模拟器
现有安卓模拟器开放的端口一般只在本地能够访问(不包括真机),在同一局域网下也不能连接上。下面介绍如何通过Nginx代理,实现adb的转发(实际就是socket转发)。比如夜神默认模拟器开放的adb服务端口是 62001 (新建模拟器 的端口会变)现有机器A 负责开模拟器 和 机器B 负责连接调试在机器A 安装 Nginx ,修改配置:在nginx.conf 顶级添加如下内容。....#...原创 2020-02-28 10:18:18 · 1094 阅读 · 1 评论 -
使用代码调出 TextView/EditText 的编辑菜单
文章目录0x0过程分析实现反射实现模拟 `TouchEvent` 实现优化模拟0x0大家都知道在输入框长按文字,会出现编辑菜单。最近遇到一个需求:代码直接调出 EditText(TextView 需要设置 setTextIsSelectable(true)) 的编辑菜单,这里我叫它 EditorActionMenu。既然通过长按可以调出,为何不直接 EditText.performLong...原创 2019-12-11 14:18:36 · 654 阅读 · 1 评论 -
BottomSheet + ToolBar + ListView 正确使用姿势
效果预览 或带上SearchView 布局1.Fragment或Activity<?xml version="1.0" encoding="utf-8"?><android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.andr原创 2018-04-22 02:16:03 · 2031 阅读 · 0 评论 -
安卓自定义TimePickerPreference
安卓 PreferenceActivity 使用 EditTextPreference实现 TimePickerCall requires API level 23 (current min is 21):android.widget.TimePicker#getHour原创 2017-11-24 12:35:48 · 1229 阅读 · 0 评论 -
优雅地管理App内配置 - SmartKey
SmartKey介绍基本使用demo更多引入SmartKeyStep 1. Add it in your root build.gradle at the end of repositories:Step 2. Add the dependencyTODOThanks介绍利用Kotlin委托实现优雅地持久化存储App配置。使用一个类搞定App的配置。基本使用在Applicatio...原创 2019-04-22 16:35:19 · 318 阅读 · 0 评论 -
升级ndk报错:No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
今天AS 更新NDK到19.2,构建项目便报出此错误。No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android在搜索后有几个解决办法:方法1. 更改项目 gradle 版本高于3.2buildscript { dependencies { ...原创 2019-05-17 11:46:05 · 5944 阅读 · 11 评论 -
Kotlin委托实战 - ViewBinder
GithubViewBinderkotlin委托实践。基于Delegates.observable实现,属性绑定视图,赋值即触发视图更新。一行代码完成绑定自定义绑定操作过滤条件引入ViewBinder一行代码完成绑定//通过viewIdvar num: Int by ViewBinder(0, R.id.text_view)//或者 指定viewvar num...原创 2019-07-02 10:36:51 · 612 阅读 · 0 评论 -
高度自定义的底部对话框 - BottomDialog
JitpackGithub1. BottomDialog心水纯纯写作很久的底部对话框样式,同时在Google Play Store 也见到过此样式,不过经过多次问询,没得到想要的结果。只好自己动手实现。使用BottomSheet,支持滚动布局,同时底部布局不会因BottomSheet未显示全部内容而隐藏。目录特性DEMO简单标题文字简单列表自定义列表引入Bo...原创 2019-07-09 15:59:53 · 768 阅读 · 0 评论 -
安卓TapToView - 实现短按预览
TapToView> Github 一个用于手指短按触发,松开释放的Library。有效解决与父级View的事件冲突效果图使用步骤引用Step 1.Add it in your root build.gradle at the end of repositories:allprojects { repositories {...原创 2018-06-02 16:57:00 · 719 阅读 · 0 评论