昨天遇到一个问题,想将 Android 工程中的 module 编绎成 release版本的 .aar 文件。
先演示不正确的例子:方案一:选中要编绎的 module,然后依次在 Android Studio 的菜单栏点击 Build --->,如下图所示:
![](https://img.haomeiwen.com/i19891256/1b05b7aab39dc03a.png)
image.png
你的工程可能没办法一下子将 build 后生成的目录更新在工程中,这时你需要刷新一下,点击从磁盘中重新加载,如下图所示:
![](https://img.haomeiwen.com/i19891256/ba2e1c48c1870cce.png)
image.png
build 的结果会在 module 下生成一个 build/ouput 目录,在 output 目录下,能找到我们想要的 .aar 文件。如下图所示:
![](https://img.haomeiwen.com/i19891256/9b94495c365aead2.png)
image.png
但是可以看到,生成的 .aar 是 debug 版本的。我们想生成 release 版本的 .aar 要怎么做呢?这时需要用到 Android 的 Gradle 的功能区。
这里你可能会遇到跟我一样的问题,Gradle 功能区没有 Task 清单。如下图所示:
![](https://img.haomeiwen.com/i19891256/f38783080bb1590a.png)
image.png
并且提示 Task list not build...
这时,点击 Task list not build 蓝色提示,跳转到 Setting ---> Experimental 界面,将 Do not build Gradle task list during Gradle Sync 前面的勾取消掉。如下图所示:
![](https://img.haomeiwen.com/i19891256/5d553cff1cdd94be.png)
image.png
接着点击 File ---> Sync Project with Gradle Files如下图所示:
![](https://img.haomeiwen.com/i19891256/2a3d10407a1f7517.png)
image.png
稍等片刻后,即可看到 Gradle 功能区的 Task 清单显示出来了。如下图所示:
![](https://img.haomeiwen.com/i19891256/6a7ca43d4d9e4c4f.png)
image.png
回到我们的主题,通过 Gradle 功能区,到对应 module 下的 other 目录找到 assembleRelease 功能,即可编绎出我们 release 版本的 .arr 文件。编绎后.arr 生成的路径与方案一是一致的,同样是在 module/build/output 下能被找到。如下图所示:
![](https://img.haomeiwen.com/i19891256/7e92bac42dc3d0ca.png)
image.png
至此,问题已解决。
以上,感谢阅读!
网友评论