【Unity】安卓打包要点 (Unity v2019.2.17f, MacOS)

7 篇文章 0 订阅

直接导出APK

导出

如果没有做一些特别插件,可以直接导出APK并测试
步骤:

  1. File --> Build Settings
  2. 选择Android平台(Platform),这步需要一点时间,之后不切换平台的话,无需重复选择
  3. 检查Scenes In Build,看看哪些场景需要打包
  4. 不要选Export Project
  5. 点击“Build” or “Build And Run”
  6. 选择保存路径和输入文件名
  7. Save
    在这里插入图片描述

添加 AAR 库

如果你的项目需要添加 Android 的AAR库,将其放到:
Assets/Plugins/Android

添加 Android resource

等于将你的Android工程的res目录放到
Assets/Plugins/Android

个性化 AndroidManifest

某些Android的AAR库需要额外的权限,
但是AAR库的 AndroidManifest 并不会影响APK文件的AndroidManifest。
所以你需要编辑一个自己的AndroidManifest并放到
Assets/Plugins/Android
这个AndroidManifest会被合并到最终的APK文件的 AndroidManifest 中

个性化Gradle

如果你需要在build.gradle添加一些dependences 或者 sth else。
这通常是你添加某些插件或者Android外部库时会碰到的需求。

  1. Project Settings -> Player -> 选择安卓平台 -> Publishing Settings -> Build
  2. 勾选 Custom Gradle Template
  3. 用文本编辑器编辑显示的文件
    在这里插入图片描述

使用非Unity自带的Gradle

在当前版本由于我用了androidx 代替了android.support.v4,所以需要使用gradle 5.4.1,而目前自带版本是gradle 5.1.1。
打包时会报错,请留意出错信息
在Unity->Prefereces->External Tools 中指定Gradle路径
如果是Android Studio自动安装的,一般在 ~/.gradle/wrapper/dists/
注意这个目录是隐藏的,看到隐藏文件的快捷键为 shift+cmd+.
在这里插入图片描述

自定义gradle.properties文件

由于用了androidx,需要修改gradle.properties
随便找个 Assets 中的 Editor 文件夹扔进去
需要 using UnityEditor.Android;


public class AndroidPostBuildProcessor : IPostGenerateGradleAndroidProject
{
    public int callbackOrder
    {
        get
        {
            return 999;
        }
    }


    void IPostGenerateGradleAndroidProject.OnPostGenerateGradleAndroidProject(string path)
    {
        UnityEngine.Debug.Log("AndroidPostBuildProcessor: gradle.properties Bulid path : " + path);
        string gradlePropertiesFile = path + "/gradle.properties";
        if (File.Exists(gradlePropertiesFile))
        {
            UnityEngine.Debug.Log("AndroidPostBuildProcessor: delete : " + gradlePropertiesFile);
            File.Delete(gradlePropertiesFile);
        }
        StreamWriter writer = File.CreateText(gradlePropertiesFile);
        writer.WriteLine("org.gradle.jvmargs=-Xmx4096M"); // 这句是unity自己的
        // 参考 https://developer.android.com/jetpack/androidx
        writer.WriteLine("android.useAndroidX=true"); // 加上这句才能用androidx
        writer.WriteLine("android.enableJetifier=true"); // 加上这句,Android插件会重写其二进制文件,自动迁移现有的第三方库以使用 AndroidX
        // writer.WriteLine("android.enableR8=true");
        writer.Flush();
        writer.Close();

    }
}

导出Android工程

这是为了进一步添加一些个性化的Android功能时,不得不在安卓工程上做进一步加工。

  1. File --> Build Settings
  2. 选择Android平台(Platform),这步需要一点时间,之后不切换平台的话,无需重复选择
  3. 检查Scenes In Build,看看哪些场景需要打包
  4. 选Export Project
  5. 点击 Export
  6. 选择保存路径,项目名就是你的Unity工程名
  7. Choose

注意如果覆盖导出,同名文件会被覆盖,但已删除的资源是不会被删除的

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值