Andriod studio 打包aar
因为项目不同,有些公用库而且还是c++的,还有一些带资源的,简单的复制遇到库升级又是一轮配置,编译成aar则解决这些麻烦。
但是默认andriod studio的make moudle只生成debug包,在3.0以上及时生成release的apk,release的aar也不会生成。
这个时候要用到 "gradlew assemblerelease" 这个命令,在andriod studio 里面打开终端,在项目的根目录下执行,(不能再moudle里面执行)。
如果出现unsupported major.minor version 52.0这个问题,那就是你终端的版本不对,至少要8.0以上,那为什么andriod studio里面能正常生成,到了命令行不行,因为andriod studio里面有内置的java版本。
如何解决这个问题,很多人选择升级java版本,但是还有更简便的方法,如果有些人的java还需要低版本来测试和支持低版本的java程序,那难道还升级吗?
因为它是利用gradle来进行编译的,打开gradle的批处理文件看看还什么解决办法。
一般来说在 c:\program files\android\android studio\gradle\gradle-4.1\bin 下面的gradle.bat ,不同版本的版本号不同,实际目录可以在andriod studio的settings里面查。
批处理文件里面,我们看到重要的语句:
:findjavafromjavahome
set java_home=%java_home:"=%
set java_exe=%java_home%/bin/java.exe
取java_home这个变量,那就容易办了,你只需要在命令行下面执行set java_home=c:\program files\android\android studio\jre 就可以了,这种命令只对当前的命令session有效,而不会改变全局java版本,执行完再执行gradlew assemblerelease 即可。
andriod studio内置的java版本路径在哪,在andriod studio 的settings里面查看。
好了,这里做个笔记和分享。
上一篇: C#创建日志方法
推荐阅读