因为项目不同,有些公用库而且还是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里面查看。

好了,这里做个笔记和分享。

posted on 2018-12-08 21:20  breeze  阅读(614)  评论(0编辑  收藏  举报