一、需求
我做了一个camerax相机+opencv图像处理+图片上传服务器功能的android应用,应客户需求要将其改成一个SDK,由客户加到他们自己的app里边。
于是,我需要制作一个library,打包成aar文件(jar:只有代码,没有界面和资源; aar: 包括界面和资源)
二、方法
首先,新建一个project.(File->new project->空 view activity ->修改包名->finish)
然后,点击左上角File->new->new module,进入下图页面,选择android Library,填写相应的包名,点击finish
生成之后就可以看到如下图的目录结构,app是这个项目创建的主app程序,下边两个是library.library基本上相对于app是独立的,它有自己的manifast.xml和build.gradle,也可以独立运行
【注意】点击左上角的File进行新建,library和app才是平级的;如果在app或者项目名字右键去创建module,生成的library会在app的下一级。
三、library中文件的创建
module已经建好了,接下来可以创建java文件和layout文件了。
但是,有可能会发现生成的module里边没有res资源文件夹,需要我们自己手动添加。如下图,module右键新建文件夹,找到res文件夹点击创建
然后,创建layout以及drawble等文件夹就可以按照下图,res处右键新建Directory,文件夹名字填你想要创建的名字即可。
四、生成aar文件
首先,提供给外部的aar文件应该是release格式,所以要先设置生成release模式的aar文件。如下图,点击左侧的build variants 选择release, 然后点击左上build-> make project。有时候makeproject会只生成app部分,不生成library的aar,那么可以先clean再rebuild
另外,如果只修改了一个module,build上边可能会出现单独构建这个module,选它就好了
生成的位置:项目的module的build->outputs->aar文件夹中
下回继续:Android Studio开发之路(十)app中使用aar以及报错记录