var p={ _age:18, get age(){ return this._age; }, set age(val){ this._age=val; } } p.age; // 18 p.age=20; // 20 p.age; // 20
即get是对象的属性值返回的方法,set是属性值修改的方法
var p={ _age:18, get age(){ return this._age; }, set age(val){ this._age=val; } } p.age; // 18 p.age=20; // 20 p.age; // 20
即get是对象的属性值返回的方法,set是属性值修改的方法
本文整理了开发人员日常用到的linux相关命令,文件相关,文本相关, 系统相关,网络相关,进程相关,权限相关
Gradle是个构建系统,能够简化你的编译、打包、测试过程。熟悉Java的同学,可以把Gradle类比成Maven。Gradle Wrapper的作用是简化Gradle本身的安装、部署。不同版本的项目可能需要不同版本的Gradle,手工部署的话比较麻烦,而且可能产生冲突,所以需要Gradle Wrapper帮你搞定这些事情。Gradle Wrapper是Gradle项目的一部分。
SDK Location 打开发现里面没有指定 android NDK location 目录
openssl可以编译成ARM下面的二进制代码(动态库或者静态库),方便APP使用,APP在使用的时候,需要使用JNI来进行调用。
项目中需要用到openssl库的AES加密,写下来方便以后查阅。
CMakeList.txt,openssl,编译
在Android JNI开发中,经常会遇到JNI崩溃的问题,尤其带代码量大,或者嵌入了第三方代码的情况下,很难进行问题定位和处理。本文将介绍两种常见的JNI崩溃处理方法,包括: 每个JNI调用后进行异常检测处理(适用于JNI代码量很小的情况) 捕获系统崩溃的Signal,并进行异常处理(适用于JNI代码量大,难以每句话后面都进行异常检测的情况)
奇怪新加了个cpp文件,但是就是不能被android studio编译,cpp里面的错误当然也不会被检测到。
byte数组和File,InputStream互转
AES+BASE64加解密详解