Unity 2019+导出安卓项目

在Unity 2019+使用arm64 + IL2CPP导出的原生安卓项目会包括两个gradle项目

  • launcher
  • unityLibrary

Unity官方声明这样是为了把Unity的项目完全剥离出来,方便之后二次处理
Unity 2019+导出安卓项目_第1张图片
Unity Forum Unity Android Combine

整合步骤

基于网络上的多方的整合信息和个人的处理,优化了一套最快捷方便的处理方式

导出Unity项目

Unity 2019+导出安卓项目_第2张图片
Unity 2019+导出安卓项目_第3张图片

创建AS项目

在项目级别的settings.gradle中添加引入项目声明

include ':unityLibrary'
project(':unityLibrary').projectDir=new File('..\\..\\SplitCanvas\\GoogleAS\\unityLibrary')//里面写的是你unitylibrary的路径

在项目级别的build.gradle中添加

allprojects {
    repositories {
        google()
        jcenter()
        maven {url 'https://developer.huawei.com/repo/'}
        // add code below
        flatDir {
            dirs "${project(':unityLibrary').projectDir}/libs"
        }
    }
}

在应用级别的build.gradle中添加

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'com.huawei.hms:iap:4.0.4.301'
implementation 'com.huawei.hms:base:4.0.4.301'
implementation 'com.huawei.hms:hwid:4.0.4.300'
implementation 'com.huawei.hms:game:4.0.3.301'

// add code below
implementation project(':unityLibrary')
implementation fileTree(dir: project(':unityLibrary').getProjectDir().toString() + ('\\libs'), include: ['*.jar'])//lib路径

}

然后sync即可把unity导出的library当作一个module导入到项目中

整合unityLibrary到项目

将launcher分支项目中的复制到创建的项目中
Unity 2019+导出安卓项目_第4张图片
屏蔽Unity默认的launcher
Unity 2019+导出安卓项目_第5张图片
同步这些数据到应用级别的build.gradle
Unity 2019+导出安卓项目_第6张图片
制作启动Activity,将Activity注册到复制过来的模板manifest文件中
在这里插入图片描述


你可能感兴趣的:(基础,unity)