平时写一些Demo玩的时候经常会用到重复的操作,比如打印Log,而Android原生的Log每次使用都要加上tag:

Log.e(String tag, String msg);

而我习惯将tag全都写成"yjx"便于我在一个Logcat过滤器中查看所有我打的Log,即:

Log.e("yjx", "Hello");

这样我每次打Log都要写从、懒惰如我,像这种重复代码都不想写?于是我自己写了一个Log库(LogUtils),简化了打印Log的API:

package com.jx.logutils;

public class Log {

public Log() {}

public static void e(String msg) {

if(msg != null && msg.length() > 0) {

android.util.Log.e("yjx", msg);

}

}

}

这里我默认Log的tag全是“yjx”,这样在查看Log的时候我就可以只用一个tag(“yjx”)来观察所有日志了,而不用每次打Log的时候都要写一个:

Log.e("yjx", "msg");

而是:

Log.e("msg");

当然,这个库极其简单,只不过几行代码,只是我用来偷懒用的。

那么问题来了,如果我在别的项目中也想使用这个库,不可能每次使用都要重新撸一遍吧,那怎么在别的项目中是使用这个库呢?

第一步: 将aar文件拷贝到libs目录(将工程样式改为Project即可看到libs目录)

6e3a37d887ba

第二步: 修改build.gradle 配置文件

repositories {

flatDir {

dirs 'libs' // 声明添加libs文件夹为库

}

}

dependencies {

compile(name:'logutils', ext:'aar') // 添加logutils.aar库为倚赖

}

修改后的build.gradle :

6e3a37d887ba

第三步: 点击编译按钮重新编译

6e3a37d887ba

OK!

效果如下,输入Log代码提示中就出现了我们的LogUtils库中的Log类:

6e3a37d887ba

好啦,大功告成!

另外:

Q1:怎么查看导入成功的aar库中的文件?

A1: build -> intermediates -> exploded-aar -> logutils -> jars -> classes.jar

代码都在这个jar包里呢。

6e3a37d887ba

Q2:本地jar包怎么导入呢?

A2:这个就更简单了,直接将jar包拷贝到libs目录,然后重新编译即可。

之所以这么简单是因为我们的Android工程app Moudle的build.gradle配置文件中默认给我们配置好了:

dependencies {

compile fileTree(include: ['*.jar'], dir: 'libs')

}

为啥不对aar这么好?

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐