使用TFS自动编译maven项目

TFS(Team Foundation Server)是微软发布的一套整合了源码管理,团队项目管理,自动化测试发布等功能的服务软件。 VS+TFS+SharePoint+Hyper-v一套带来的从架构设计到源代码管理、项目管理、自动测试等方面的全开发周期覆盖,目前地球上好像看不到其他类似的东西存在。 准备工作: 1.下载maven并配置环境变量 2.安装jdk并配置环境变量 3.安装并初始化tfs 支持链接: Git推荐教程: http://t.cn/RK0Gb8X TFS官网: https://www.visualstudio.com/tfs/ Git官网: https://git-scm….

阅读全文 »

IDEA+Git 多人协同开发开发 创建纯净功能分支

需求: 现在有一个比较复杂的功能点需要多人协同开发,IDE使用idea,Git服务端使用的是Microsoft Team Foundation Server。现在团队需要对每个人编写的代码进行代码评审。 因为多人使用了同一个功能分支进行开发,所以分支内混合了多人代码,这样很难进行评审。 实现目标: 在使用了混合代码分支开发的情况下(也是不可避免的),但能分离出只包含自己代码的分支作为最终提交代码。 具体操作: 要实现本需求,必须要懂得git的基本操作语法,比如查看提交记录,抽取commit,创建新分支,提交分支到远程服务器等。不过因为idea自带了强大的git插件。 所以我们只需要鼠标点点就可…

阅读全文 »

Mybatis SQL语句编写

1.插入多条数据并获取主键 一个非常简单的插入sql <code>insert into table (aa,bb,cc) values(xx,xx,xx),(yy,yy,yy)<code> 在Mapper中写入对应的sql模板 <insert id=”insertUser” keyProperty=”id” useGeneratedKeys=”id”> insert into xxxx (xx) value (xxx) </insert> 2.批量插入数据 并返回主键 <insert id=”insertBatch” parameterT…

阅读全文 »

阿里云主机 ubuntu14.04 升级到 16.04 坑爹过程

最近购买了阿里云廉价 330R一年的1C1G主机.但是在主机选项里只有几个老旧的系统版本可以选择。然后我选择了比较熟悉的ubuntu14.04系统。现在准备把系统升级到16.04. 交费开机后,在终端输入 sudo do-release-upgrade -d升级系统,但是却提示没有新的发布版本?apt update之后还是这样。 目测自带的软件源有问题,直接更换成阿里云的外网源 deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse # disabled on upgra…

阅读全文 »

Java-Spring-AOP 实现

AOP即面向切面编程,是针对OOP编程编程的不足之处的补充计划。OOP通过引入封装,多态,继承等概念建立一种对象的层次结构,用于模拟公共行为的一个集合。 不过OOP定义的是对象的纵向关系,顶部总是高度抽象化的对象,底部总是具体的实现。但OOP不能适应定义横向的关系。比如日志功能,异常的处理,请求的安全检查等等,这些功能一般都存在散布在各个层次的代码中,又与具体的功能没有什么关联。在OOP设计中,它导致了大量代码的重复,而不利于各个模块的重用。 AOP恰恰相反,它是定义了对象的横向关系,剖开对象的内部,讲那些会影响多个类的公共行为封装到单独的模块。这个模块称之为切面,原本分散的代码称之为横切。所…

阅读全文 »

Xposed插件 lawnchair黑名单解锁器

lawnchair是安卓系统中一款比较好用的启动器了…支持各种自定义以及更换主题图标功能。 启动器是外国人开发的,不知出于什么原因,在更换图标的时候,如果你安装了一些不太和谐的软件,比如幸运破解器之类的软件,则会提示你安装了破解软件而不让你替换图标。 本插件可以完美解决这个问题,启动器将不会再弹出相关警告。插件使用也很简单,安装后在哪xposed installer中打勾重启即可。 下载地址 链接: https://pan.baidu.com/s/1i7hDoxR 密码: 4j27

阅读全文 »

解决Xposed Hook 多dex App出现 NoSuchMethod

现在很多的app都有多个dex文件,因为单个dex文件顶多存放60000多个方法,如果代码太多的话必须拆分dex。如果用xposed去hook非默认dex文件的类就会发生ClassNotFoundError,要解决这个问题,我们需要拿到对应dex文件的上下文环境。 android在加载dex文件后会创建一个application类,然后会调用attach方法,attach方法的参数就是上下文context,而且attach方法是final方法,不会因为被覆盖而hook不到,拿到这个context就可以获取对应的classloader,然后可以顺利hook到你需要的类 XposedHelpers…

阅读全文 »

Android Studio&DDMS&IdeaSmali 实现Smali级别的动态调试

所谓的动态调试其实是逆向的一种方式,一般逆向有两种方式,一种是静态分析,就是把dex转换为smali代码,或者dex转化为jar(.class)然后再转化为java代码。smali可以直接回编译而java则不行。 第二种就是动态分析,动态分析基于第一种静态分析获取的smali或者java源码来进行的调试分析。 名词解释: smali是Davlik的寄存器语言,Davlik是android上的jvm实现。反编译出来的smali都是没有语法糖的,所以代码的逻辑可能与源码不太一样,反编译出来的java代码亦然,可以看到很多类似 for(;;) 的语法。Android Studio是谷歌基于社区版In…

阅读全文 »

Xposed那些事儿 — xposed框架的检测和反制

之前看到有人发了关于使用xposed屏蔽抖音检测xposed的思路(https://www.52pojie.cn/thread-684757-1-1.html),贴出了部分伪代码, 但觉抖音写的蛮有意思的,自己对这方面也不是很清楚,毕竟Android我没怎么学习。借这个机会,了解一下。写的不是很清楚,大家多多抱哈啊!~~ 整理了一下文档,我发现抖音主要使用了以下的手段检测xposed。 环境: win10 x64 使用的工具:apkdb & jeb 2.2.7 1.尝试加载xposed的类,如果能加载则表示已经安装了。 XposedHelpers类中存在fieldCache methodCac…

阅读全文 »

Xposed框架 V90 beta1 支持Android 8.0/8.1

Xposed框架的作者rovo89于1月8日发布了XPosed v90版本,目前还处于beta 1 测试阶段,基本支持Android 8.0/8.1系统。 如果你正在使用8.x的系统,就赶快试试吧。 emmmm。。。当然如果你正在使用的是国产UI(比如MIUI等),那么还是建议官网等定制版本吧。 使用方法: 下载对应的zip包进入rec卡刷即可。 下载地址: 框架卡刷包 http://dl-xda.xposed.info/framework/sdk27/arm64/xposed-v90-sdk27-arm64-beta1.zip 卸载框架卡刷包 http://dl-xda.xposed.inf…

阅读全文 »