Android 使用自定义 keystore 调试

可以在 build.gradle 文件中指定debug 下的 keystore 文件路径,一般放到项目跟目录下,并使用如下方式指定。 更多语法可以参考 Signing Configurations 部分 http://tools.android.com/tech-docs/new-build-system/user-guide 指定 debug variant 下 keystore 路径: android { signingConfigs { debug { storeFile file('your.k Read more ...

2016-10-09 Android , AndroidDev

全平台录制 GIF:LICEcap

以前写过一篇文章 讲的是如何在 Linux 下使用 byzanz 来录制 GIF,并且能够达到很好的效果,并且文件大小非常合适网络分享。现在就介绍下在其他两大平台 Win/Mac 下录制 GIF 的工具。 LICEcap 录屏 GIF 工具名字叫做: LICEcap 。这也是一款我在使用很长时间之后感觉非常好用的工具。他的官网地址: http://www.cockos.com/licecap/ 他有如下优点: 开源,简单,小巧 支持直接录屏转 GIF,或者自由 .LCF 格式,使用 REAPER 可以转制成 .gif 或者其他视频格式 Read more ...

2016-10-01 gif , 经验总结 , record , tools

通过 IFTTT 自动下载 Instagram 图片到 Google Drive

在 Instagram 关闭 API 之前可以通过 IFTTT 获取别人的更新 Photos, 但是 Instagram 收紧了 API 政策。既拿不到别人更新的信息流,同样也自己Like 别人照片的信息也拿不到了,原来 IFTTT 有两个 Recipes: 一个为自动下载个人 Liked 别人的 Photo 到 Dropbox 另一个为自动下载其他 ID 的更新 Photo 然而这两个 Recipes 都被 IFTTT 删去了,我甚至在 StackOverflow 上问过这件事情,只是几个月过去了,也没有任何实质性的方案。 直到这些天 Read more ...


Android 常见错误

INSTALL_FAILED_NO_MATCHING_ABIS 的解决办法 出现时机 INSTALL_FAILED_NO_MATCHING_ABIS 的解决办法,在 Android 模拟器上安装 apk 的时候出现 解决办法 是由于使用了 native libraries ,该 native libraries 不支持当前的cpu的体系结构。 INSTALL_FAILED_NO_MATCHING_ABIS is when you are trying to install an app that has native libraries and i Read more ...

2016-09-29 Android , AndroidDev

android 6 runtime permission

在 target API 23 之前,应用申请权限为一次性给予,开发者需要在 Manifest 中使用 users-permission 来申请权限,而用户则是在安装应用时一次性赋予应用所有申请的权限。 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.app.myapp" > <uses-permission android:name="android.permission.RECEIVE Read more ...

2016-09-27 Android , AndroidDev

Android Snackbar 使用

Snackbar 提供操作的轻量级反馈。显示在手机底部或者大屏幕的左下,Snackbar显示在所有界面的最上层,并且只显示一次。 Snackbar 可以包含一个操作,使用 setAction(CharSequence, android.view.View.onClickListener) 设置。 Snackbar 可以通过 setCallback(Callback) 来设置显示和消失的回调 Snackbar.Callback 显示时间长短的常量 int LENGTH_INDEFINITE 没有操作不消失 int LENG Read more ...

2016-09-26 Android , AndroidDev

每天学习一个命令:tar 压缩和解压文件

tar 本质上只是一个打包命令,可以将多个文件或者文件夹打包到一个 tar 文件中,结合其他的压缩程序再将打包后的档案文件压缩。所以看到 .tar.gz, .tar.bz2, .tar.xz 等等文件其实是 tar 文件之后进行 Gzip, Bzip2, XZ 压缩之后的文件。 命令格式 tar [-] A --catenate --concatenate | c --create | d --diff --compare | --delete | r --append | t --list | --test-label | u --upd Read more ...

2016-09-25 tar , linux , archive , extract , command

Android Notification

Android Support v4 包中的 NotificationCompat.Builder ,在 Android 3.0 API Level 11 中才有 Notification.Builder。 创建通知 您可以在 NotificationCompat.Builder 对象中为通知指定 UI 信息和操作。要创建通知,请调用 NotificationCompat.Builder.build(),它将返回包含您的具体规范的 Notification 对象。要发出通知,请通过调用 NotificationManager.notify() 将 No Read more ...

2016-09-25 Android , AndroidDev

Android monkey test

Android UI monkey 测试 伪随机用户事件,发送到模拟器或者设备,用来对应用程序进行压力测试。 功能: 设定事件数 操作限定到某一个特定 package 事件类型和频率 调试选项 报错: 如果应用 crash 或者遇到 unhandled exception , monkey 会停止并上报错误 如果应用产生 not responding error , monkey 也会停止并上报 基本使用 基本语法: adb shell monkey [options] <event-count> Read more ...

2016-09-22 Andorid , AndroidDev , monkey

每天学习一个命令:dpkg-reconfigure 命令重新配置软件包

dpkg-reconfigure 命令是 Debian 系 Linux 中用来重新配置软件包的命令,运行该命令可以重新配置软件包第一次安装后的配置问题。 使用方式 sudo dpkg-reconfigure [package name] 举例 常用的配置,比如配置语言 sudo dpkg-reconfigure locales 配置 display manager sudo dpkg-reconfigure lightdm sudo dpkg-reconfigure mdm 配置时区 sudo dpkg-reconfigure t Read more ...


最近文章

  • herdr 一个窗口调度多个 Coding Agent 什么是 Herdr
  • Claude Code 第三方 API 代理配置 Headroom 最近在给自己的 AI 编程工作流加入 [[Headroom]] 上下文压缩工具时,遇到了一个需要特别注意的配置问题。相信有不少人和我一样,为了降低成本或者改善访问体验,已经在 [[Claude Code]] 或 [[Codex]] 里配置了第三方 API 代理,比如一些第三方聚合平台或者自建的转发服务。这时候想再套上一层 Headroom 做 Token 压缩,就需要特别注意配置细节,不然两层代理会打架。
  • Headroom:让 AI Agent 少花冤枉钱的上下文压缩工具 最近一段时间我在深度使用 [[Claude Code]] 做开发工作,用得越多,账单就越触目惊心。一次稍微复杂一点的任务,比如让它读取几个文件、搜索一下代码、跑一下测试,轻轻松松就能烧掉超过 100K 的 Token。更让人无奈的是,这 100K 里面有相当大一部分是重复冗余的内容——工具调用的输出、日志、搜索结果,它们被原封不动地塞进上下文,再一次次地发给模型,而模型其实只需要其中很小一部分关键信息。
  • 用 Harbor 搭建私有 Docker Registry:从安装到日常使用的完整实践 我维护过几个跑在自己服务器上的小项目,构建出来的 [[Docker]] 镜像最早都是直接推到 [[Docker Hub]] 上的。用了一段时间之后开始觉得别扭:一些只在内网跑的服务镜像,没必要也不应该传到公开的仓库;Docker Hub 对匿名拉取做了限流之后,CI 流水线偶尔会因为触发了速率限制而失败;再加上想给不同的项目、不同的同事分配不同的访问权限时,公共仓库这套体系根本满足不了。折腾到后来我意识到,是时候在自己的机器上搭一个真正能用的私有镜像仓库了。
  • 用 New API 打造个人 AI 网关:统一管理所有大语言模型接口 这段时间我同时用着好几个大语言模型服务:日常写作和代码靠 [[Claude]],轻量任务交给 [[Codex]],搜索增强用 [[Antigravity]],还有几个本地跑着 [[Ollama]] 的小模型供离线场景使用。每个平台各自的 API Key 散落在项目环境变量里,月底要去好几个后台分别对账,想横向对比两个模型的输出还得打开不同的网页或客户端来回切换,很费事。