配置Telnet服务
添加Telnet服务
操作过程:点击”开始”→”控制器面板”→” 查看方式:类型”则点击”程序”(”查看方式:大图标”则点击”程序和功能”)→ “启动或关闭windows功能”→ 在”Windows功能”界面勾选Telnet服务器和客户端 →最后点击”确定”等待安装。
添加Telnet服务
操作过程:点击”开始”→”控制器面板”→” 查看方式:类型”则点击”程序”(”查看方式:大图标”则点击”程序和功能”)→ “启动或关闭windows功能”→ 在”Windows功能”界面勾选Telnet服务器和客户端 →最后点击”确定”等待安装。
在使用Android的录音功能时会遇到和其他录音应用冲突的问题,比如其他应用录音时启动自己的录音功能会报错,自己的应用如何配合其他录音应用,何时放弃录音权限,何时能获取
在使用Git的时候会遇到本地有一个需要长久的修改,但是不想提交到服务器,但是又想服务器上文件有更新时能同步到本地,这时我们可以使用如下的命令。
忽略文件本地修改
1 | git update-index --skip-worktree <file> |
撤销忽略
1 | git update-index --no-skip-worktree <file> |
JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通讯(主要是C&C++)。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他编程语言,只要调用约定受支持就可以。使用java与本地已编译的代码交互,通常会丧失平台可移植性。但是,有些情况下这样做是可以接受的,甚至是必须的。例如,使用一些旧的库与硬件、操作系统进行交互,或者为了提供程序的性能。
1 | JNIExport jstring JNICALL Java_com_example_hellojni_MainActivity_stringFromJNI( JNIEnv* env,jobject thiz ) |
jstring 是返回值类型Java_com_example_hellojni 是包名MainActivity 是类名stringFromJNI 是方法名
其中JNIExport和JNICALL是固定保留的关键字不要修改
git stash 用于缓存当前修改,并且回到最后一次提交状态(切换到HEAD)的操作
在Android开发过程中总会遇到各种尺寸单位(px、dp、dpi)使用和图片文件夹(mdpi、hdpi)存放问题,在此就一些基本概念做一个总结的介绍,以期对此有个充分的认识
以荣耀6 plus的屏幕参数作为例子

英寸(inch) 1 inch = 2.54 cm
主屏尺寸:也就是显示屏幕对角线的距离(英寸)
主屏分辨率:1920x1080像素表示屏幕高度上有1920个像素点,宽度上有1080个像素点
屏幕像素密度:dpi(dots per inch),意思是,对角线每英寸的像素点的个数,计算公式如下:
前段时间部门组织架构调整,本人有幸被分配到技术平台。而开始的第一个任务就和React Native有关,在任务处理期间就技术方面学习了很多很多,因为RN对我来说有一个长长技术栈要了解要学习
之前一直专注于Android端开发,你要说我没有Web前段的基础也不尽然,在大学期间自学过前段三剑客HTML、CSS、JS,不过也就是学学罢了没有一点实际经验,再说也过了五六年。光阴如梭,紧急补了一下三剑客方面的知识。还好各种语言的语法基本都是通的,JS又是脚本语言,学来也不算费事。再此基础上学习了ES6、React、React Native基础知识,就开始动工参与RN实际的项目了。
Android项目在使用jenkins自动构建过程中,一个比较常用的情况是需要对构建的变体进行选择生成。结合之前读的《巧用Gradle构建Android应用》和网上的一些资料,解决了我在实际项目遇到的两种情况,现记录如下
在实际项目中我们可能需要构建一些小的变动的不同版本,比如生成的Apk在安装之后不需要显示桌面图标(只供第三方调用)。

Gradle的android插件默认支持两种不同类型的构建类型:debug和release。可以通过模块构建文件中的buildTypes定制配置。
1 | buildTypes { |
通过在debug构建类型中配置applicationIdSuffix和versionNameSuffix可以在同一台设备上安装发布版本和调试版本
另外一个构建类型属性debuggable,调试构建类型自动设置为true,其他类型默认为false。
定制允许构建同一个App的多个版本,可以使用productFlavors来声明定制产品
1 | android { |
1 | ext { |
1 | login='user' |
1 | repositories { |
也可以通过命令行提供变量
./gradlew -Plogin=name -Ppass=xxxxx assembleDebug