替换Android中VM 加载动态库方式

Android加载动态库的代码在 dalvik/vm/Native.c,加载的方式就是调用 libdl 中 dlopen, dlsym 这些函数 应该可以在这些函数中做些手脚,dlsym 替换为 my_dlsym 这样就可以调用自己的函数 下面举一个例子,通常 dlopen, dlsym 使用如下 #include <dlfcn.h> void* handle = dlopen(“./

恰似的你温柔

  一 来北京这几年,除了期间没有举办的年份,其他时候都去了草莓。每一年都会堵车,今年尤甚,高速堵了四个钟头,下车的时候正好是赵雷的最后一首歌,《成都》。 二 今天的主角儿,60岁的蔡琴站在台上潇洒自在,亲和力十足,全程合唱。 最后一首歌,《恰似你的温柔》,间奏,蔡琴说了很多话,“你们还年轻,我不要你们悲伤,我要你们温柔”,紧接着到副歌,“到如今年复一年,我不能停止怀念”,我的妈呀,那一

早春二月

  一 早春二月是北京一家餐馆的名字,我很喜欢,可能也是我去过最多的一家。 二 我想,大多数人应该是以农历的新年作为一年的结束和开始。漂泊在外的日子,每天都在努力地生活,总是需要停下来的。 年前颇有些疲惫,也说不上为什么,很早就想休假调整一下,可期待了很久的假期,一转眼也就过去了,匆匆忙忙的好像什么也没有做。 过完年,又长了一岁,很奇妙的时间节点,之前还感觉自己是25岁出头,现在就觉得马

2017,随遇而安

一 我总是觉得生活应该是有仪式感的,虽然新的一年并不会突然变得跟以往很不一样,但我们总要给过去一个交代,赋予它一个意义。跟以往一样,循例写篇博客,随笔记录一下2017年的自己是一种怎样的状态。 二 十年前,天下足球的那期岁末盘点我依然记得非常清楚,配乐是林肯公园的《leave out all the rest》,可能也是我最喜欢的一期“华彩”系列。那一年,贝影远走美利坚。那一年,卡卡拿了金球奖和世

Gradle 函数复用的一点实践

前段时间在搞组件化,其中遇到一个问题,各个模块中的gradle文件需要一些辅助函数,比如用于判断当前构建的任务是否在jenkins上构建,并且这些函数可能会被多次使用。最开始的时候只有一个gradle文件用到了,就直接在用到的gradle文件中编写对应的函数。后来发现,很多gradle文件都会用到,一开始并没有考虑太多,用到的时候就copy一下对应的函数,久而久之,发现很多文件中存在着相同的函数,

Java执行顺序

/** * Created by dingguofeng on 2017/12/26. */ public class Sequence { public static void main(String[] args) { Son son = new Son(); } } class Father { public Dog dog = new Dog(); static { System.out.

1024

实习入职的时间是2014年10月24日,周五,“程序员节”,我记得非常清楚,毕业入职的时间是2015年4月1日,愚人节,都是比较特殊的日子。良禽择木而栖,网易是一个不错的选择,时隔三年依然是我最喜欢的一家公司。 本来以为北京只是匆匆走过的一站,感觉日子都是临时的,没想到一下子待了好几年,重要的是……还不知道要继续待多长时间,于是漂泊的日子也逐渐成了一种生活。既然是一种生活,便是一种常态,需要自己去

使用manifestPlaceholders替换变量

在项目中,我们有时会需要根据不同的项目环境,使用不同的项目变量,比如说,我在测试环境中需要我的app访问的服务器地址是测试服务器上,而正式发布下的app需要访问正式服务器。在这种情况下,我们可以将这个变量放在AndroidManifest文件中,根据不同的编译类型生成服务器指向不同的app。 实现 在之前版本的gradle中,大部分的思路都是在AndroidManifest中定义一个变量,然后在编

夏夜晚风

一 在外面绕了一大圈,听伍佰的《夏夜晚风》,浅吟低唱却又情意浓重,昨晚下了一场大雨,天气并不燥热,心情大好。这片小区很奇怪,天气好的时候聒噪的知了声,大雨过后此起彼伏的蛙叫,今年尤甚。 二 奇数年的夏天,电视上总是很少的球赛,期待的部分大概是谁谁谁转会了,谁谁谁退役了。很不幸,前几天托蒂宣布挂靴,伟大的队长,一个时代结束了。 差不多是04年的欧洲杯开始喜欢意大利,之后的几年里看了很多意甲的比赛,那

Android平台的崩溃捕获机制及实现

作者简介:贾志凯,Testin崩溃分析(http://apm.testin.cn/)项目研发工程师,负责客户端SDK相关技术研发工作。5年移动互联网开发经验,曾任职于中科院、Symantec、Opera,对移动App的测试、分析有较深入的研究。 Android系统碎片化造成应用程序崩溃严重,在模拟器上运行良好的程序安装到某款手机上说不定就会出现崩溃的现象。而且,往往都是程序发布之后在用户端出现了崩