Shinelw Blog

Do More

深度分析FlexboxLayout可伸缩布局

Deep analysis of FlexboxLayout

Google开源了一种可伸缩弹性的布局FlexboxLayout,它根据CSS的FlexBox仿造而来,提供了更加灵活简单的布局方式。初识FlexboxLayout时,首先联想到的是开源项目流式布局FlowLayout。但相比于FlowLayout,FlexboxLayout在操作上更加简单,并且更加强大,谷歌在apha版本中加入了对于RecyclerView的支持。对于FlexboxLay...

Kotlin新特性之JavaScript支持

Kotin new features for JavaScript support

Kotlin新特性之JavaScript支持 Kotlin1.1版本正式加入了对JavaScript的支持,也就是说我们可以Kotlin进行网页开发,并且Kotlin也支持了与JavaScript的相互操作。众所周知,JavaScript是动态类型的语言,而相对来说,Kotlin和Java都是静态类型的。同时,两者在编译运行也很不一样,Java更偏向与编译型语言,而JavaScript更偏向...

Kotlin属性引发的方法数问题

Methods several problems induced by Kotlin property

Kotlin属性引发的方法数问题 Kotlin最重要的一个优势就是简洁。说白了就是写的代码比Java来的少,所以很大程度上使用Kotlin开发会减少项目中的代码行数。然而,如果你觉得方法数肯定也减少的话,那就too young too simple了!首先,撇开引入Kotlin标准库的7000个方法数不谈,接下来我们来谈谈Kotlin属性带来的方法数问题。 方法数问题 我们知道,与Jav...

Kotlin编译过程分析

Kotlin compiler process analysis

Kotlin编译过程分析 我们知道,Kotlin基于Java虚拟机(JVM),通过Kotlin编译器生成的JVM字节码与Java编译的字节码基本相同,也因此与Java可以完全兼容,并且语法更加简洁,让我对Kotlin的编译过程甚是好奇。一通Google之后,毫无收获,Kotlin作为一门新语言,绝大多数的资料都局限于它的用法和特性相关。幸好Kotlin所有源码都已开源,遂决定生啃之。 K...

谈谈Kotlin特性在开发中的应用

Talking about Kotlin Characteristic in Development

概述 Kotlin是JetBrains团队开发的一种静态类型的函数式编程语言,它基于Java虚拟机(JVM),通过Kotlin的编译器生成的JVM字节码与Java编译的字节码非常相似。事实也的确如此,虽然在语法方面与Java差异很大,但是Kotlin和Java在开发过程中是完全兼容的。所以说,Kotlin很值得一试。本文将重点谈谈Kotlin新特性在实际项目开发中的感受。 关于语法使用及入...

AndFix - 热修复方案原理分析

AndFix - A Hot Fix Solution

AndFix是阿里开源的一种在线bug热修复的方案,当线上应用出现紧急Bug时,无需再重新发版本,通过发送补丁的方式达到修复Bug的功能,相对于之前同样为阿里开源的Dexposed来说,AndFix支持Android2.3-6.0,并且同时支持Dalvik和ART模式。 实现思路 AndFix的实现思路就是方法的替换,在native层动态替换方法,通过native代码中hook java...

Android APK打包流程

Android APK Build Process

概述 今天主要讲一下Android程序的生成步骤,即Android打包成APK的流程。 通常情况下,在开发过程中打包APK是一件很简单的事,主要可以通过两种方式:一种是用Eclipse或者Android Studio集成开发环境直接生成APK;另一种是使用Ant工具在命令行方式下打包APK。不过不管哪种方式,打包APK的本质过程都是一样的。 APK文件其实就是一个压缩包,当你解压以后会...

Charles:移动端设备网络抓包

Charles:An application to catch the data using mobile

今天安利一款软件,Charles。最近在研究应用安全的东西,经常需要对应用访问网络进行抓包,然后发现Charles这款软件,最突出的特点就是简单好用易上手~啊哈哈哈 首先是应用界面,如下: 下载地址:http://www.charlesproxy.com 下载下来以后会提示只有30天免费试用期,这时候只有两种选择,要么购买,要么破解。(对于我这种穷学生来说,只好破解了= =) 目前...

Wish App逆向分析app_device_id字段生成算法

Wish App Analysis how to build the app_device_id

概述 本文对Wish App进行了反编译,对应用中app_device_id字段的生成算法进行了逆向分析。 使用到的工具有: Apktool:获取资源文件和smali 反汇编代码 dex2jar:反编译apk,将其中的classes.dex转化成jar文件 jd-gui:打开jar文件,查看java源码 反编译环境:mac osx apk反编译获得java代码和sm...

Ubuntu 15.10 配置Android Studio出现的问题

Ubuntu 15.10 Install Android Studio Trouble

最近重新安装了Ubuntu系统,升级到15.10,在一番折腾重新配置Android Studio的时候,发现不能正确关联本地的Android SDK。 显示错误如下: unable to run mksdcard sdk tool google了一番发现是升级到15.10系统以后系统内缺少32位的lib。 所以,安装上相应的库就可以了。 执行以下命令: sudo apt-...