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

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

Andriod studio 打包aar的更多相关文章

  1. Android Studio 打包AAR和第三方静态库

    需求 现在有一个第三方库libstatic_add.a和对应的头文件static.h,要求封装一个Module,该Module依赖这个静态库,要求打包的Module包含该静态库. 方案 创建Andro ...

  2. Android tips(八)-->Android Studio打包apk,aar,jar包

    文本我们将讲解android studio打包apk,aar,jar包的相关知识.apk包就是android系统的安装包,这里没什么好说的,aar包是android中独有的类库包,而jar包是java ...

  3. Android Studio打包apk,aar,jar包

    转载请标明出处:一片枫叶的专栏 文本我们将讲解android studio打包apk,aar,jar包的相关知识.apk包就是android系统的安装包,这里没什么好说的,aar包是android中独 ...

  4. Android Studio 打包及引用 aar

    Android Studio 打包及引用 aar 1. 简述 在比较大的 Android 项目的开发中,我们经常会遇到工程.jar 包等等之间相互引用的方式.一般我们通过在 gradle 文件中配置依 ...

  5. Andriod Studio adb.exe,start-server' failed -- run manually if necessary 解决

    首先查看了我的任务管理器,共有三个adb的程序在运行: 错误提示的是 Andriod Studio 中的adb.exe启动失败,于是,去关掉另外两个adb.exe,两分钟左右后,又出现了三个adb. ...

  6. [Andriod] - Andriod Studio + 逍遥模拟器

    Andriod Studio自身自带的模拟器实在太卡,用Genymotion模拟器又要安装VirtualBox,然后一堆的设置,结果还是卡B. 网上下了个逍遥模拟器,这模拟器是游戏专用的,目前正式版的 ...

  7. eclipse 和 android studio 打包签名apk问题

    首先,我使用eclipse打包了一个签名apk 然后,我使用同一个签名文件在android studio 打包同一个项目 接下来,首先安装eclipse 打包的apk,然后安装android stud ...

  8. Android Studio打包未签名包

    Android Studio打包未签名包 好久没有写技术博客了,真有点懈怠了,作为35岁的程序员,转行重新捡起这些知识,还是挺犹豫纠结的,不过没啥其它办法,一点一滴开始吧,今天这开篇就小结点前几天工作 ...

  9. PS Studio打包程序 .net版本依赖

    PS Studio打包好的程序(Win7下),拿到Windows Server 2003(PS2.0),如果提示”.Net framework初始化错误“,则需要安装 .net 3.0 如果是PS3. ...

随机推荐

  1. cnzz流量统计

    var regexp=/\.(baidu)(\.[a-z0-9\-]+){1,2}\//ig; var where =document.referrer; if(where.indexOf(" ...

  2. Linux 桌面玩家指南:09. X Window 的奥秘

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  3. Django rest framework源码分析(1)----认证

    目录 Django rest framework(1)----认证 Django rest framework(2)----权限 Django rest framework(3)----节流 Djan ...

  4. 《深入理解Java虚拟机》-----第6章 类文件结构——Java高级开发必须懂的

    代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步. 6.1 概述 记得在第一节计算机程序课上我的老师就讲过:“计算机只认识0和1,所以我们写的程序需要经编译器翻 ...

  5. Sublime Text 3下载安装以及安装HTML-CSS-JS Prettify代码格式化插件

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Sublime Text的安装以及安装插件步骤. 下载Sublime Text 官网地址:http://www.sublimetex ...

  6. Asp.Net Core WebApi中接入Swagger组件(初级)

    开发WebApi时通常需要为调用我们Api的客户端提供说明文档.Swagger便是为此而存在的,能够提供在线调用.调试的功能和API文档界面. 环境介绍:Asp.Net Core WebApi + S ...

  7. Golang之轻松化解defer的温柔陷阱

    目录 什么是defer? 为什么需要defer? 怎样合理使用defer? defer进阶 defer的底层原理是什么? 利用defer原理 defer命令的拆解 defer语句的参数 闭包是什么? ...

  8. Linux framebuffer测试程序

    Linux framebuffer的框架非常简单, 对于应用程序就是操作一块内存(俗称帧缓存), 当然也有可能是双缓存, 一般用于高帧率场景, 一块帧在填充数据时, 另一块在显示, 接着对调过来, 那 ...

  9. 【憩园】C#并发编程之异步编程(三)

      写在前面 本篇是异步编程系列的第三篇,本来计划第三篇的内容是介绍异步编程中常用的几个方法,但是前两篇写出来后,身边的朋友总是会有其他问题,所以决定再续写一篇,作为异步编程(一)和异步编程(二)的补 ...

  10. Cannot execute request on any known server或DiscoveryClient_UNKNOWN/DESKTOP-MQ8D0C9:8761

    报错信息如下: 2018-08-31 11:45:33.619 WARN 1068 --- [freshExecutor-0] c.n.d.s.t.d.RetryableEurekaHttpClien ...