protobuf
在android还推荐一种使用方式为protobuf-lite
,使用protobuf gradle plugin
在
构建时生成代码的方式来使用protobuf
。
Protobuf的使用上问题,可以参考 Protobuf在Android下的使用说明。
添加protobuf-gradle-plugin
在项目根目录下的build.gradle
文件中修改为如下代码:
1 | buildscript { |
protobuf
在android还推荐一种使用方式为protobuf-lite
,使用protobuf gradle plugin
在
构建时生成代码的方式来使用protobuf
。
Protobuf的使用上问题,可以参考 Protobuf在Android下的使用说明。
在项目根目录下的build.gradle
文件中修改为如下代码:
1 | buildscript { |
如果需要把原有的app复制一份出来,新的app使用一个新的packageName
,有如下几个步骤要做:
Manifest.xml
中的packageName
Manifest.xml
中<activity><service><receiver><provider>
的name为新的完整包名,不能使用简写build.gradle
中的applicationId
import
了本项目中的R.class
语句import
了本项目中的BuildConfig.class
语句项目资源
R.class
的包名是根据packageName
生成的
详细分析protobuf(以下简称pb)数据序列化Tag-WireType-Value方式,对VARINT、带符号整型的详细分析,分别对
int32, int64, uint32, uint64, sint32, sint64, bool, enum,fixed64, sfixed64, double, string, bytes, embedded messages, packed repeated fields, fixed32, sfixed32, float
所有protobuf支持的数据类型进行说明。通过demo和验证过程,相信能帮忙到大家理解protobuf的原理。
protobuf nano是一个比较新的Protobuf官方实现,很适合在android应用中使用,相比原来的java实现,减少代码量和方法数,原为了这个问题而用C++实现的朋友们,可以换到这个实现,避免尴尬。
网上查了一些资料,要在gradle中显示dependencies依赖树,要使用dependencies
命令,不过由于
顶级项目中一般我们都不定义dependency的,一般是在子项目中定义,那么可以用这种方式来写:
1 | ./gradlew <sub module name>:dependencies |
这样就能输出依赖树了。不过如果有多个子项目的话,要一个个子项目的查非常麻烦,所以可以通过下面的方法
来输出整个项目的依赖树。
svn:ignore
要修改svn:ignore要用到3个svn命令:
svn proplist <要查询的目录,留空就是当前目录
显示svn属性,可以查到目录有没有设置过svn:ignore
svn propget svn:ignore <要查询的目录,留空就是当前目录>
显示ignore属性svn:ignore
的值
svn propset svn:ignore <要忽略的文件或者文件夹> <要修改的目录>
设置ignore属性
例如:
1 | $ svn propset svn:ignore "obj" . |
https://www.staticgen.com/ 是一个静态网站生成器的对比网站,有需要制作一个静态网页的朋友可以在上面找到丰富的项目。
由于我的Hexo站点是部署在Github Pages上的,但Github Pages屏蔽了Baidu的爬虫,现在增加了一份代码部署在了coding.net,这样Baidu就可以正常抓取了,详细可以看Hexo站点部署到Github Pages和coding.net。
一个新的站点要被搜索引擎搜索到,首先就要手动将站点收录到搜索引擎里,下面主要讲述Baidu及Google搜索引擎的收录方式。
Github Pages屏蔽了Baidu的爬虫,百度搜索引擎没法抓取到数据。coding.net也提供了类似Github Pages的功能,Baidu爬虫可以抓到数据,Google也能抓到数据。hexo支持部署到多个仓库的能力,下面我们就来操作一下。