zoukankan      html  css  js  c++  java
  • 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 FilesAndroidAndroid Studiogradlegradle-4.1in 下面的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 FilesAndroidAndroid Studiojre  就可以了,这种命令只对当前的命令session有效,而不会改变全局java版本,执行完再执行gradlew assembleRelease 即可。

    Andriod studio内置的java版本路径在哪,在Andriod studio 的settings里面查看。

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

  • 相关阅读:
    iframe嵌套
    fiddler——一款莱斯的抓包工具
    工程代码规范和更新规范
    新项目新工作空间新仓库新setting文件
    quartz-job实现实时或定时发送短信任务
    quartz-job实现定时任务配置
    quartz开源作业调度框架的配置
    Confluence 6 让一个空间可以公众访问
    Confluence 6 管理和恢复空间管理权限
    Confluence 6 指派和撤销空间权限
  • 原文地址:https://www.cnblogs.com/zhujiechang/p/10089125.html
Copyright © 2011-2022 走看看