因为项目不同,有些公用库而且还是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. 【SQL Server】利用游标将学生表中的成绩转化为绩点

    软件工程综合实践第一次作业 代码来源:班上同学的数据库大作业 alter table sc add GPA float; --加入绩点列 alter table sc ,);--将表按原始位置顺序编号 ...

  2. C# Npoi 实现Excel与数据库相互导入

    十年河东,十年河西,莫欺少年穷! NPOI支持对 Word 和 Excel 文件的操作! 针对 Word 的操作一般用于打印技术!说白了就是利用 Word 文件作为模板,生成各种不同的打印!具体用到的 ...

  3. Linux 桌面玩家指南:15. 深度学习可以这样玩

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

  4. PHP全栈学习笔记10

    php常量,常量是不能被改变的,由英文字母,下划线,和数字组成,但是数字不能作为首字母出现. bool define ( string $name , mixed $value [, bool $ca ...

  5. PHP全栈学习笔记9

    php的会话控制,什么是会话控制,http等. 什么是会话控制思想,http协议. cookie 和 session http是超文本传输协议,是网络上最广泛的一种网络协议. http最大特点是无连接 ...

  6. .NET 下 模拟数组越界

    前面一篇文章提到过 数组越界行为,虽然编译器为我们做了大量的检查工作让我们避免这些错误. 但是我觉得还是有必要模拟一下数组越界,感受一下这个错误. 那么对于.NET来说我们怎么来模拟数组越界呢? 一. ...

  7. java配置环境及安装

    1.安装JDK开发环境 首先登陆https://www.oracle.com 第一步:Products ---- Java ---- Download java(JDK) for Developers ...

  8. Python3中性能测试工具Locust安装使用

    Locust安装使用: 安装: python3中           ---> pip3 install locust 验证是否安装成功---> 终端中输入 locust --help  ...

  9. SiftGPU在Ubuntu和Windows下的编译与使用

    Sift特征应该是使用最多的局部特征了,但是相比其他的一些特征描述符,计算sift特征描述符的时间较长.Changchang Wu使用GPU加速,实现了GPU版的sift特征提取SiftGPU. Si ...

  10. ASCII Art ヾ(≧∇≦*)ゝ

    Conmajia, 2012 Updated on Feb. 18, 2018 What is ASCII art? It's graphic symbols formed by ASCII char ...