Gradle 重复导入错误

记录一下纠结了两天的问题。 问题 项目中遇到如下错误: Error:Execution failed for task ':mobile:packageAllDebugClassesForMultiDex'. > java.util.zip.ZipException: duplicate entry:android/support/annotation/AnyRes.class 这个问题是因为项目中引入了 support-annotations 包,但是导入的其他 jar 包中包含了这个 package,重复导致了 duplicate en Read more ...

2016-09-18 android , androiddev , gradle , google

adb shell dumpsys 使用

adb 相关的命令在 这篇 文章中已经提及。这里主要展开 adb shell dumpsys 这个子命令。 今天在查当前运行的 Activity 时遇见这个命令。 当前 service adb shell dumpsys,默认打印出当前系统所有 service 信息 获取屏幕信息 adb shell dumpsys display |grep DisplayDevice 获取电源管理信息 adb shell dumpsys power 电池信息 adb shell dumpsys battery Current Battery Se Read more ...

2016-09-09 adb , android , android-dev , shell

常用 adb command 命令

一些常用的 adb 命令,包括 Android 录屏,及从电脑复制文件,从 Android 设备拉取文件等等。 adb 的全称是 Android Debug Bridge, 这个命令可以用来发送一系列指令给 Android 设备,包括但不限于基本的 Linux 指令。只要手机或者任何 Android 设备开启了 Debug 模式并且取得信任,adb 命令几乎可以用来做任何事情。因此网络上也存在使用 adb 来入侵同一局域网下的 Android 盒子的例子。 adb 使用的默认端口是 5037. Ubuntu 系下安装 sudo apt-get i Read more ...

2016-09-08 android-dev , android , adb , dev , device

Android Animation Interpolator

动画插值器,用来描述动画的变化率,这里讨论的 Interpolator 指的是 android.animation 包下的 TimeInterpolator。 以下所有的插值器都继承自 Interpolator , 而 Interpolator 接口直接继承自 TimeInterpolator , 自身并没有添加任何方法。 TimeInterpolator 中有 abstract float getInterpolation(float input) 方法,参数 input:input 参数是一个 float 类型,它取值范围是 0 到 1,表示当前 Read more ...

2016-09-06 Android , AndroidDev

Android ImageView ScaleType

ImageView 的 ScaleType 属性决定了图片在 View 上显示时的样子,是比例缩放,还是显示图片的整体或者局部等等。对于一张图片,有其自身的大小,而 ImageView 也有其自身的大小,这两者如何完美的合作其结果很重要的设置便是 ScaleType 属性。 设置该属性的方式有两种: 在布局 Layout 中 ImageView 中定义 android:scaleType="center" 在代码中调用 imageView.setScaleType(ImageView.ScaleType.CENTER); 8 种 Sca Read more ...

2016-09-05 Android , AndroidDev

Android Animation

Android 的动画实现有不同的方式,在 3.0 以前 Android 的动画很简单只能在 View 层做,在后期版本中不断的加入动画实现,至今已经有这非常完善的动画系统了。Android 系统提供了 Property animation 和 View animation 两大动画系统。除去这两大动画系统之外,还有一类 Drawable Animation, 允许加载 drawable 并且一帧一帧播放: View Animation 视图动画 Property Animation 属性动画 Drawable Animation 帧动画 Read more ...

2016-09-04 Android , AndroidDev , Animation

《Effective Java》读书笔记

Java 语言中存在四种类型: 接口 interface 类 class 数组 array 基本类型 primitive type 前三种是引用类型,类实例和数组是对象,基本类型不是对象。 在 Java 中一共有 8 种基本数据类型,其中有 4 种整型,2 种浮点类型,1 种用于表示 Unicode 编码的字符单元的字符类型和 1 种用于表示真值的 boolean 类型。(一个字节等于 8 个 bit) 整型 类型 存储需求 bit 数 取值范围 Read more ...

2016-09-02 android , java , design-pattern

画图工具收集

画图工具整理,平时少许的画图需求,所以找了这些网站,Draw.io 还是不错的,简单的流程图都能搞定。 所见即所得 Draw.io 国外的免费画图网站,支持 Google Drive,Dropbox 等等 https://draw.io gliffy 所见即所得,有 Chrome 扩展,可离线,和 Google Drive 有结合 https://www.gliffy.com/ ProcessOn 国内的画图网站,可以实时写作 https://www.processon.com/ Visio 微软出的绘图软件,但 Read more ...

2016-08-28 draw , grach , collection

Grub2 bootloader 主题

之前把 Linux Mint Grub2 bootloader 的背景图片更换了一下,直接用的 gnome-look 的 Anonymous Hope 主题 ,这里就记录一下,以便快速恢复。 Gnome-look 这个网站上有非常多人分享的内容,可以到这个网站自行选择自己喜欢的内容。 Usage 一般 grub 的主题需要在 /boot/grub/themes 目录下。如果没有这个目录需要手动创建 sudo mkdir -p /boot/grub/themes 然后将下载的文件内容拷贝到该目录下。完成拷贝之后需要修改一下 /etc/defaul Read more ...

2016-08-26 grub2 , bootloader , theme , grub-theme

让网站在分享时预览更美观

在最近用 Telegram 分享网页的时候,Telegram 会预先抓取网页形成一个缩略预览,但是如果是自己的网站没有适配一些 meta 信息,抓取出来的信息就非常不堪入目。所以优化一下网站在分享的时候的预览图,这个术语叫做 Rich Previews,想查看网站是否已经优化好,可以查看下面的网站: http://richpreview.com/ 想要好看的预览需要如下的标签 Title 最长 65 个字符,否则 Google 结果就会被截断 Meta description 最好小于 155 字符 og:title 最好不超 Read more ...

2016-08-25 website , html , meta , share , preview

最近文章

  • Syncthing 升级 2.0 后同步卡在 Preparing to Sync 的解决方法
  • Orca ADE 体验:为 AI 编码 Agent 而生的开发环境,用 worktree 让一群 Agent 并行干活 过去一年里软件的开发方式发生了一个我自己都没料到的转变。以前写代码是工程师对着编辑器敲,现在更多时候是同时开着好几个 [[Claude Code]]、[[Codex]] 之类的编码 Agent,让它们各自去完成一个任务,工程师只负责在中间调度、审阅、拍板。这种”我带一队 Agent 干活”的模式效率确实高,但很快就撞上了一堆现实的麻烦:几个 Agent 都在同一个仓库里改文件,分支互相污染;终端窗口开了一大排,切来切去分不清哪个是哪个;改完还得一个个去看 diff、跑测试、开 PR。工具还是那套为单人设计的 IDE,可我干活的方式早就不是单人了。
  • Git 分支管理与发布上线流程实战指南 最近有朋友来问我 Git 分支和发布流程相关的问题,聊着聊着我发现,分支管理这块我自己算是比较熟悉,平时用起来也有一套固定的习惯,但当话题转到 release 发布流程的时候,我反倒得停下来想一想。
  • herdr 一个窗口调度多个 Coding Agent 什么是 Herdr
  • Claude Code 第三方 API 代理配置 Headroom 最近在给自己的 AI 编程工作流加入 [[Headroom]] 上下文压缩工具时,遇到了一个需要特别注意的配置问题。相信有不少人和我一样,为了降低成本或者改善访问体验,已经在 [[Claude Code]] 或 [[Codex]] 里配置了第三方 API 代理,比如一些第三方聚合平台或者自建的转发服务。这时候想再套上一层 Headroom 做 Token 压缩,就需要特别注意配置细节,不然两层代理会打架。