Android开发Android技术知识Android开发

腾讯实习| 周记(3&4)

2020-06-26  本文已影响0人  yzbkaka

前言

最近的任务主要是和项目相关的,所以有很多东西都是不能放到外网上面的,导致如果第三周可以写的东西就很少,所以决定把3&4周的周记放到一起(其实就是懒2333333

1、aapt相关

aapt,即Android Asset Packaging Tool,是Android资源打包工具,Android Studio 和 Android Gradle 插件使用它来编译和打包应用的资源。aapt 会解析资源、为资源编制索引,并将资源编译为针对 Android 平台进行过优化的二进制格式。

在Android打包过程中,通过aapt会将res文件夹内的所有资源、asset下的资源、AndroidMainifest.xml和Android.jar文件通过编译和链接两个步骤将它们输出为apk文件里面的resource.arsc和以一个R.java。

推荐阅读: AAPT2 | Android AAPT详解

2、多渠道打包方案VasDolly

2.1、VasDolly概述

VasDolly是鹅厂开源的,一种快速多渠道打包工具,同时支持基于V1签名和V2签名进行多渠道打包。插件本身会自动检测Apk使用的签名类别,并选择合适的多渠道打包方式,对使用者来说完全透明。而 V1.1.6版本已支持Android Gradle Plugin 3.0。

2.2、VasDoll配置

首先是在项目的根目录build.gradle中添加依赖:

dependencies {
        classpath 'com.leon.channel:plugin:2.0.3'
}

接着就是在app项目目录下的build.gradle中添加VasDolly的引用:

apply plugin: 'channel'
dependencies {
    api 'com.leon.channel:helper:2.0.3'
}

然后是创建一个带有渠道信息的txt文档,之后再在app的build.gradle中来将txt路径传入:

channel{
    //指定渠道文件
    channelFile = file("/Users/leon/Downloads/testChannel.txt")
     //多渠道包的输出目录,默认为new File(project.buildDir,"channel")
    baseOutputDir = new File(project.buildDir,"xxx")
    //多渠道包的命名规则,默认为:${appName}-${versionName}-${versionCode}-${flavorName}-${buildType}
    apkNameFormat ='${appName}-${versionName}-${versionCode}-${flavorName}-${buildType}'
    //快速模式:生成渠道包时不进行校验(速度可以提升10倍以上,默认为false)
    isFastMode = false
    //buildTime的时间格式,默认格式:yyyyMMdd-HHmmss
    buildTimeDateFormat = 'yyyyMMdd-HH:mm:ss'
    //低内存模式(仅针对V2签名,默认为false):只把签名块、中央目录和EOCD读取到内存,不把最大头的内容块读取到内存,在手机上合成APK时,可以使用该模式
    lowMemory = false
}

其中的相关字段的解释如下:

最后就是打包输出多渠道包,通过gradle channelDebug或者gradle channelRelease来分别生成Debug和Release的多渠道包。

2.3、读取渠道信息

如果想要读取多渠道信息,则可以使用已经封装好的Java方法:

String channel = ChannelReaderUtil.getChannel(getApplicationContext());

2.3、多渠道打包方案的对比

对比

推荐阅读: VasDolly

3、微信Xlog

3.1、Xlog概述

Mars 是微信官方的跨平台跨业务的终端基础组件。而Xlog是其中的高可靠高性能的运行期日志组件。作为一个优秀的日志组件,它保证:

推荐阅读: 高性能日志模块xlog

3.2、Xlog配置

在配置Android端的Xlog时有两种方式,一种是添加gradle依赖来直接使用,另一种则是本地编译.so文件来来添加到工程当中,这里推荐使用第二种方式。

首先我们将mar的源码clone下来,地址是:https://github.com/Tencent/VasDolly.git

在本地编译之前需要先搭建编译环境,具体要求如下:

环境搭建完毕之后就可以运行编译脚本,脚本的目录是:\mars-master\mars\build_android.py,运行时候会出现如下界面:

选择界面
我们选择3,之后就会输出两个.so文件在目录\mars-master\mars\libraries\mars_xlog_sdk\libs\armeabi-v7a中。

接着,我们将armeabi-v7a文件夹和目录\mars-master\mars\libraries\mars_xlog_sdk\src\main\java中的文件复制到我们的项目中:

之后我们就可以使用我们的Xlog了。

推荐阅读: Mars Android 接入指南

上一篇 下一篇

猜你喜欢

热点阅读