开发web页面时,经常要进行浏览器适配,浏览器的判断依据就是 userAgent
而navigator.userAgent字段是只读的
chrome浏览器提供了强大的调试工具,同时也提供了修改userAgent的功能。
在涂红处添加自己的userAgent,reload页面就可以了。
开发web页面时,经常要进行浏览器适配,浏览器的判断依据就是 userAgent
而navigator.userAgent字段是只读的
chrome浏览器提供了强大的调试工具,同时也提供了修改userAgent的功能。
在涂红处添加自己的userAgent,reload页面就可以了。
Android Studio 2.1.2
在引用AAR
的时候,如果AAR
中包含armeabi-v7a
版本的.so
文件,而我们自带的.so
又仅仅包含armeabi
版本的,会导致我们的APK在运行的时候崩溃,报告找不到.so
文件,另外就是会增大我们最后的APK
的大小,因此我们需要排除armeabi-v7a
目录下的.so
文件.
操作方法如下:
这个方法的本质是通过强制指定abi
的方式来要求Android Studio
排除其他系统版本的.so
文件。
同样道理,可以用来在32
位的APK
中排除64
位的.so
文件,减少APK
大小。
迅雷BT任务提示"任务出错
",鼠标放到"任务出错
"标签上,提示"任务信息请求失败
"。如下图所示:
点击任务向右的箭头之后,点击"连接情况
"标签,可以看到如下的内容,尤其是红色的"查询BT资源信息失败(文件编号:1)
",如下图:
这个信息说明,在BT
文件中的第2
个文件信息无法正常查询到,文件的编号是从0开始的。
此时,我们点击"文件列表
"标签,去查看一下第2
个文件,可以看到,仅仅是个没有太大意义的"RARGB.com.txt
",如下图:
此时,我们去掉对于"RARGB.com.txt
"的下载即可解决问题,如下图:
然后再次重新开始任务,会发现,任务已经可以正常开始了。
Android Studio 2.1.2
版本已经集成了JaCoCo
用来进行代码覆盖的计算,严格上来说,这个功能并不是Android Studio
实现的,而是IntelliJ IDEA
早就实现的功能。
全部需要做的仅仅是在build.gradle
中增加testCoverageEnabled = true
即可,如下图:
然后,在命令行中执行
即可在每个子项目的build\reports\coverage\debug\
下面会生成代码覆盖率的统计文件。点击index.html
即可查看代码覆盖情况,目前看到的情况是,貌似只能统计到test
目录下覆盖到的代码,而无法统计androidTest
目录下的测试代码的覆盖情况。
从目前的测试来看只能通过R159805这个应用来开启蓝牙,但是最新的Windows 10,系统版本 1511,OS版本10586.420的系统上面,只能开启蓝牙,安装的驱动属于Windows通用驱动,因此尽管可以看到蓝牙,却不能正常使用,比如罗技M336鼠标,是无法正常使用的。
git tag 可以打标签 相关指令 git tag -h查看
打标签
git tag test
在打tag时,可以增加describe
git tag -m "xxx" test
注意,describe只能在打tag时使用,已存在的tag不能新增/修改describe
然后Makefile中可以这样写
VERSION := $(shell TAG_INFO=git describe
)
Thunderbird
使用时间长了之后,我是差不多两年多点了,打开提示“文件夹 收件箱 已满,无法保存更多消息。请删除旧邮件、不需要的邮件或者压缩文件夹来保存其他消息。
”,如下图:
根据Thunderbird
的中文帮助文档,可以看到如下内容:
这个实际上是属于Thunderbird
文件存储系统的策略问题,尽管文件系统可以处理超过4GB
的文件。但是为了兼容一些古老的系统,导致即使是到了目前的版本,依旧无法处理超过4GB
的文件。
目前Thunderbird
一直是32
位的应用,没有出64
位的版本,尽管可以使用64
位的API
访问文件系统,但是还是默认保留了4GB
的限制。
网上的删除全部的.msf
的方法,只是能解决邮件发生过删除,而实际占有的空间没有释放,因而可以通过重建索引文件的方式,来缓解问题,但是如果从来没有删除过邮件,邮件实际占有的空间已经真实超过4GB
的情况下,那么这些方法实际上是无效的。
正确的做法是Ctrl+A
选中全部的邮件,然后右击,出现的菜单中选择"归档
",即可。这样操作的实质,其实是使用子文件夹的方式突破单个文件夹4GB
的限制。
归档
完成后,Thunderbird
会提示是否压缩收件箱
来节省空间,此时,一定要允许,否则收件箱的大小不会发生变化,如果此时没有点击许可,也可以手工在收件箱
上面右击,弹出的菜单中选择压缩
。
crosstool-ng
然后加环境变量 export PATH=$PATH:/opt/crosstool-ng/bin
如果想自己配置调整某些参数,则执行
最后执行
默认情况下,生成的编译工具在当前用户目录下的x-tools
目录下,如果需要调整这个目录,可以参考
Mac OSX下执行crosstool-ng提示“Your file system ‘xxxx’ is *not* case-sensitive!”
Ubuntu 16.04 (x64)树莓派B+(Raspberry Pi B+)源代码编译
树莓派自带的编译工具是基于Linux
的,在Mac OSX
上是无法正常使用的,因此比较简单的方法就是使用crosstool-ng
来建立交叉编译环境。
1.安装HomeBrew
,方便各种工具的安装
2.使用HomeBrew
安装crosstool-ng
3.链接Mac OSX
上的install
到ginstall
。Mac OSX
上没有ginstall
如果不执行命令,则会报错
4.使用HomeBrew
安装expat
不执行此命令,我的电脑会出现crosstool-ng
在配置expat
的时候失败,但是两者使用的版本并不相同,另外貌似出错后,重试即可,不需要安装expat
,但是稳妥起见,还是安装好了。
5.创建大小写区分的磁盘分区文件,并挂载(如果你系统创建的时候,系统分区以及区分大小写,则不必此项操作)
参考Mac OSX下执行crosstool-ng提示“Your file system ‘xxxx’ is *not* case-sensitive!”
6.在刚刚创建并挂载的大小写区分的磁盘上执行配置命令
7.修改刚刚命令生成在当前目录下的配置文件
找到
禁止使用静态链接(Mac OSX
下,无法提供对于libc
的静态链接,只能动态链接)
8.执行构建命令
如果构建出错,可以使用
后面的数字代表几个并行的任务,单个任务可以更方便的查看出错的信息,多任务并发会导致日志打印的非常混乱。
在构建(ct-ng build
)的时候遇到任何问题,都应该查看当前构建目录下的build.log
文件,这个文件中详细记录了构建的过程信息,详细的出错信息等。
由于crosstool-ng
在构建过程中需要去服务器上下载源代码,难免出现文件下载不完整的情况,这种情况下,可以从build.log
文件中看到如下的内容:
则说明下载的源代码出现了问题。最容易出现这个问题的是gcc
.以gcc-5.2.0
为例子,修正的方法如下:
简单解释一下代码,tarballs
存储了从服务器上下载的全部源代码的压缩包,解压缩出现问题,因此必须删除,让crosstool-ng
去重新下载,扩展名为.extracting
文件为crosstool-ng
的标记文件,用来标识这个包是不是已经被解压缩过,一旦这个文件存在crosstool-ng
就认为对应的工具已经就绪了,就不会处理这个工具了,最后删除的是工具源代码的目录。
如果提示安装binutils
的时候失败,如下所示:
查看build.log
可以看到如下的内容:
这个BUG的原因是由于GCC
的版本问题导致的,低于4.7版本的GCC
无法理解这个语法,尽管Mac Osx
已经使用最新的LLVM
,但是遗憾的是,最新的LLVM
并没有支持这个语法。解决方法如下:
找到如下代码
修改为:
如果出现了"fatal error: bracket nesting level exceeded maximum of 256
",如下所示:
则修改方法如下:
在出现的界面中选择"Paths and misc options
"项目
在第二级界面中不断下拉,找到"Extra host compiler flags
",增加"-fbracket-depth=512
",这个选项。
然后重新执行
如果出现错误:
这个是由于LLVM
目前的版本还无法正确的理解部分GCC
的汇编部分的写法,导致编译失败,而这部分的语法一般都是用在优化的时候出现错误,因此我们需要禁用这部分的优化,使用"Paths and misc options
"->"Extra host compiler flags
"增加 "-fno-unroll-loops
"。如下图:
如果出现如下错误:
这个问题是由于编译的时候,同时打开的文件数量超过了256
导致的,修复方式为在shell
中增大同时打开的文件数量限制到1024
:
然后在同一个shell
中继续执行
如果出现如下错误,则直接忽略即可:
至于其他问题,貌似重试一下就可以解决了。
Ubuntu 16.04 (x64)树莓派B+(Raspberry Pi B+)源代码编译
在Mac
下面使用HomeBrew
安装了crosstool-ng
来编译树莓派的代码,结果在执行的时候报告如下错误:
比较简单的解决方法就是创建一个支持大小写区分的文件,作为一个分区挂载,然后把代码拷贝到这个分区中执行编译。
早期版本的Mac OS X
对于OS X EI Capitan(10.11.5)
版本而言,生成的文件名变成了raspberry.dmg.sparseimage
因此需要使用这个文件来挂载
挂载后会在桌面生成一个名为Raspberry
的磁盘文件夹生成,直接操作这个目录即可。
crosstool-ng
的编译工具下载目录如下图的方式进行操作:
1.选择"Paths and misc options
",并选中"Select
"之后点击回车按键
2.点击向下的方向按键,,找到"(${Home}/src) Local tarballs directory
",这个项,并选中"Select
"之后点击回车按键,修改为"/Volumes/raspberry/src
",然后继续向下,找到"(${Home}/x-tools/${CT_TARGET}) Prefix directory
",这个项,并选中"Select
"之后点击回车按键,修改为"/Volumes/raspberry/x-tools/${CT_TARGET}
"
修改后的结果如下图:
完成操作后,不断快速按下Esc
按键,在最后弹出的确认保存窗口中选择保存即可,如下图: