主页

Bugtags 笔记:公关稿奇遇记

写手 长久以来,我们团队都缺乏一位优秀的写手。目前,一些公关稿,都是我们的 CEO 和我勉强冒充写手顶着上。 我们之前也找过几位做技术的朋友写过稿子,出来之后,总是觉得事儿是写明白了,读着总像一个使用说明书,勾不起人的分享欲望。 上周,我们外部找了一位以前做市场的人来写手写一篇公关稿,谁想到,这个过程,最终成为公关稿奇遇记。 缘 这位同志,下称成为写手 X,某次活动认识的,自己也运营了若干自媒体。

Bugtags 创业一年总结

出发 在经历过了多轮的 APP 开发/测试/上线/运营周期之后,我们觉得 APP Bug 反馈环节始终十分低效,我们要来改变一下这个状态。于是有了 bugtags.com。 一年 从去年六月正式立项,八月中旬内测,九月中旬正式上线以来,bugtags 已经走过了快一年。 还记得去年八月中,我们忐忑的发给身边的朋友试用,没想到好评不断,一开始设置的邀请码申请机制,没几天就被迫取消了——因为太多人申请

Hexo 与 Nginx 实现沉浸式多语言博客

沉浸式多语言博客 假期的时候,打算改造下现有的博客系统。目标之一是实现多语言(主要是中英)切换,要求:沉浸式阅读。 查找了一下,Hexo 有如下几种工具与国际化有关: Hexo 官方的国际化机制 Hexo 官方推荐的插件:hexo-generator-i18n 非官方推荐的插件:hexo-multilingual 逐一尝试 官方国际化机制:failed 更多是在解决模板翻译问题 hexo-ge

NDK SO 库开发与使用中的 ABI 构架选择

Bugtags V1.2.7 引入了 NDK SO 库,在集成的时候,遇到不同的 SO 库打包到 APK 时,安装在某些机器上,出现 java.lang.UnsatisfiedLinkError 加载失败。 为此,深究了一下原理,和给出了解决方案。 原理 Android 系统本质是一个经过改造的 Linux 系统。最早,Android 系统只支持 ARMv5 的 CPU 构架,随着 Android

Android Gradle 技巧之二: 最爱命令行

如果你习惯了命令行,你会爱上它的,因为它简单、直接,深入。 命令行 很多做 Android 开发不久的同学,习惯于使用图形界面,对命令行操作很陌生甚至恐惧。遇到 AS 运行错误,束手无策。 AS 为了确保易用性,也在 UI 界面上屏蔽了很多命令行运行的细节,导致很多人觉得 AS 难用。 这种情况,我在解决用户集成使用 Bugtags SDK 的问题的时候,经常能遇到。其实 GUI 界面的操作,绝大

Android Gradle 技巧之一: Build Variant 相关

Build Variant android gradle 插件,允许对最终的包以多个维度进行组合。 1BuildVariant = ProductFlavor x BuildType 两个维度 最常见的就是这样: 1234567891011121314151617productFlavors { pro { } fre { }}lintOptions { abortO

体验移动直播

节前我在朋友圈发了一个问题:有的人说文字是1维,图片是2维,视频是3维,那移动直播是几维? 其实这是一个严肃的问题,但是相当一部分的朋友,都是回答了,三围。 这个回答很逗,但基本反映了现状和大部分的看法。除了三围,其实我在映客里面看到了更多。 移动直播具有成熟的盈利模式,也有着一部分共享经济的特质,是一个很好的生意,甚至可能会成为一个好的媒体。 风潮来袭 移动直播风潮在2016年疯狂来袭,仅 bu

拥抱 Android Studio 之五:Gradle 插件开发

官方文档给出了比较详细的实现步骤,本文的脉络会跟官方文档差不了太多,额外增补实际例子和一些实践经验。文中的代码已经托管到了 github 项目中。 需求 默认的 Android 打包插件会把 apk 命名成 module-productFlavor-buildType.apk,例如 app-official-debug.apk,并且会把包文件发布到固定的位置: module/build/outpu

如何更好的提出技术问题

下面咱们就来聊聊技术人的素养:如何更好的提出技术问题。 笔者从事 Bugtags.com 开发运营以来,除了开发任务以外,最重要的工作就是在 qq 群里面回答用户的问题。 这半年来,少说也接待了上千个用户了。笔者发现,有相当一部分的用户,提问方式和技巧都有问题,这样导致了我们额外的客服量,也使得自己的问题得不到及时满意的回答。 下面咱们就来聊聊技术人的素养:如何更好的提出技术问题。 直接了当 有的

拥抱 Android Studio 之四:Maven 仓库使用与私有仓库搭建

使用、创造和分享 笔者曾经不思量力的思考过『是什么推动了互联网技术的快速发展?』这种伟大的命题。结论是,除了摩尔定律之外,技术经验的快速积累和广泛分享,也是重要的原因。 有人戏称,『写 Java,首先要学会选包』,在这里不好评论对错。不过这句话里面,至少包含两层意思:首先 Java 有大量的现成的依赖包,不必要自己造轮子;其次,Java 的包存放较为集中,集成方式也方便。 笔者从事 Android