首页 > 其他分享 >AndroidStudio使用命令行出包

AndroidStudio使用命令行出包

时间:2022-08-30 14:47:52浏览次数:88  
标签:出包 配置 Gradle AndroidStudio 命令行 使用 gradle

AndroidStudio使用命令行出包

使用命令行出包的两种方式:

方案1、Apache ant命令行出包(弃用)。

方案2、Android Gradle命令行出包。

先说方案1,此方案为古老传说流传下来的出包方式,而google在几年前就已经弃用了此方式,并且停止了支持。

所以我们也直接弃用方案1,同时也无须再使用jinkens了。

再说方案2,的确比较简单,方案2也是google要使用的方式,一个长期被支持的方案。

如果需要在线出包,还可以用C#写一个api,与网站对接,网站点个按钮,在线出包。

方案2出包配置(Windows环境):

配置说明:尽量的使用高版本工具、尽量使用Android Studio捆绑工具。

使用命令行出包,需要注意的几点需要配置。

Gradle配置、JDK配置、SDK配置、NDK配置、签名配置、il2cpp的so库编译配置(此项仅为unity2020以上版本il2cpp模式使用)。

如果是unity2020以上的版本,若要打ip2cpp包,则需要il2cpp的so库编译配置。

参考链接:关于Unity2020版本打包安卓工程IL2CPP没有SO的解决方案 - 威少小二orz - 博客园 (cnblogs.com)

以我这边安卓工程和Unity的配置来举例。

我这边Unity工程为2020.3.32f1c1。

Android工程为Unity打出来的Android工程。

本文的结尾会整理出可能出现的异常情况。

1、Gradle下载。

(必须)

https://gradle.org/releases/#close-notification

https://services.gradle.org/distributions/

下载binary-only,我使用的是6.83

 

2、配置Gradle环境。

(必须)

在系统变量里配置GRADLE_HOME,变量值为gradle的目录,这个目录为gradle中bin的上一层。

 

 

 在系统变量的pah里增加一个路径:

E:\Download\Gradle\gradle-6.8.3-all\gradle-6.8.3\bin

 

 

 

 3、配置ANDROID_HOME环境。

(不确定是必须还是可选,但配了肯定没问题)

 

 

 路径为你AndroidStudio中sdk的目录。

 

 

 

4、adb配置。

(不需要,写在这里是为了让你知道不需要adb配置。)

 

5、测试。

在AndroidStudio里的Terminal里输入Gradle -v

 

 

 如图上所示,则是安装成功。

清除上面的历史信息指令是cls。

如果不知道Terminal从哪里打开,那就把项目切换到Project模式,如下图。

 

 

 

6、项目配置。

使用代码配置jdk:使用AndroidStudio捆绑的jdk配置。

找到捆绑版本的jdk路径,如下图。

 

 

 AndroidStudio里不需要将它选中,只是在这里找到它的路径。

然后将其配置到gradle.properties文件里。

 

 

 

 

 

 路径就是写死的,不用怀疑。

使用代码配置gradle:

在gradle-wrapper.properties文件中添加

distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip

 

 

 

 

 

 使用代码配置sdk:

 

 

 

 

 

 使用代码配置ndk:

与sdk在同一个配置文件,如上图,是上图,不是下图。

7、签名配置。

在launcher里的build.gradle加入keystore配置。

unity2019之后打出来的android工程,都是包含launcher和unityLibrary两个工程的,launcher为主工程,unityLibrary为子工程。

 

 

 

8、配置完成,然后初始化gradle。

指令为Gradle init.

 

 

 如上图所示即为成功。

 

9、使用指令出包。

使用指令gradle assembleRelease即可出release的包,出包路径为工程目录下的launcher\build\outputs\apk\release。

 

 

 

10、如果不想打开AndroidStudio出包,则打开cmd,

然后cd到源码的目录下,下图的路径就是源码的根文件夹。

 

 

 然后使用出包指令:

 

 

 

 虽然成功了,但是上面有个警告,意思说是我不应该在xml中声明sdk的版本,可以将其移至build.gradle的配置文件中去。

因为是警告,所以直接忽略,之所以忽略,是因为我在build.gradle已经声明过sdk版本了,而xml中的声明的优先级不高,所以忽略。

忽略警告,即为成功。

如下图sdk声明的配置:

 

 

 

以上过程完成,则打包成功。

 

可能存在的异常情况:

1、Error:FAILURE: Build failed with an exception. * What went wrong: Task '' not found in root projec

2、 AAPT: error: unexpect ed element <queries> found in <manifest>.

12无效解:网上传言要直接在项目的目录下修改与项目名称同名的.iml文件,删除<component name="FacetManager"> ... </component>

12正解:彻底关闭AndroidStudio,重启,重新Clear Project,重新Reload,再将Build.gradle里的classpath升级到4.0以上版本。

classpath 'com.android.tools.build:gradle:4.0.1'
如下图:

 

3、Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.

 无效解:Gradle版本不对。

正解:jdk的兼容问题,将配置文件里配置的jdk设置为AndroidStudio捆绑的jdk版本,参考本文中的jdk配置。

4、> Configure project :launcher

WARNING: DSL element 'useProguard' is obsolete.
It will be removed in version 5.0 of the Android Gradle plugin.
Use 'android.enableR8' in gradle.properties to switch between R8 and Proguard.
WARNING: DSL element 'useProguard' is obsolete.
It will be removed in version 5.0 of the Android Gradle plugin.
Use 'android.enableR8' in gradle.properties to switch between R8 and Proguard

 

无效解:将build.gradle中的useProguard=false属性移至gradle.properties,并将此属性的名称更改为新版本的android.enableR8=false。

正解:不必须选项,忽略警告即可。

-----------------------------------------------------

以上为Gradle命令出包的全部内容。

标签:出包,配置,Gradle,AndroidStudio,命令行,使用,gradle
From: https://www.cnblogs.com/vsirWaiter/p/16639243.html

相关文章

  • 【OpenFace】使用命令行单个/批量处理图像/视频
    在OpenFace的可执行文件夹Release下运行cmd以识别单个视频为例:命令行参数参考:https://blog.csdn.net/bj233/article/details/113737268?utm_medium=distribute.pc_rel......
  • C语言:命令行参数
    命令行参数在图形界面普及之前都使用命令行界面。DOS和UNIX就是例子。Linux终端提供类UNIX命令行环境。命令行(commandline)是在命令行环境中,用户为运行程序输入命令的行......
  • Python命令行运行脚本时传入参数的方式
    Python命令行运行脚本时传入参数的两种方式1、pythonscript.py0,1,232、pythonscript.py--a=0,1,2--b=3对应不同的参数解析方式,分别为sys.argv,argparse(1) sys.......
  • win10 命令行启动 net6 程序
    dotnetrundotnetrun--urls=http://*:8080//urls指定ip和端口dotnetwatchrun//watch监听程序修改,一旦修改则重新启动dotnetwatchrun--urls=http://*:8080dotnet......
  • OpenStack命令行操作
    环境变量OpenStack的九个组件必须熟记,命令不需要死记硬背,我们可以通过help来查询相关的命令和参数。如果你直接使用命令来查询或者做其他操作,那么会涉及到环境变量,操作起......
  • windows命令行
    windows命令行开始+系统+命令行win键+R+输入cmd在任意位置,按住shift键+鼠标右键,在此处打开命令窗口在资源管理器的文件导航内输入CMD管理员方式运行开始+......
  • gcc编译器的常用命令行参数
    在学习常用的gcc命令行参数前,先了解gcc在执行编译工作的过程1、预处理,生成.i的文件[预处理器cpp]2、将预处理后的文件转换成汇编语言,生成文件.s[编译器egcs]3......
  • [ROS学习]4.ROS命令行工具
    笔记参考:【ROS学习笔记】4.玩转小海龟——ROS命令行工具基于B站ROS公开课:【古月居】古月·ROS入门21讲基于Ubuntu20.04.1、Noetic版本1回顾第一个小海龟程序打开小海......
  • Git 常用命令行
    Git设置:--Gitlab公司账号gitconfig--globaluser.name"***"gitconfig--globaluser.email"g**@nan**.com"--Github个人账号gitconfig--localuser.name......
  • 命令行的使用方法以及基础命令
    打开CMD的方式1.开始+系统+命令提示符2.win键+R输入cmd打开控制台(推荐使用)3.在任意的文件夹类型下面。按住shift键+鼠标右键点击,在此处打开命令行窗口4.资源管理器的地......