google play aab上传PAD的使用流程

Source

前提要求:

第一点,必须要targetVersion》=30(android studio>4.2以及build gralde>6.7.1此篇不讨论)

第二点,必须使用bundle的方式上传

第三点,本文的方式是原生apk+U3D资源做的融合包

正文部分:

本文采用的是在应用安装时就包含资源的模式,即install_time模式。本本项目apk大小40M左右,U3D资源文件大约210M。

第一步:创建U3D的资源文件夹

在project(build.gradle项目级)的目录下创建install-time-asset_pack的文化夹,并在此文件夹下依次创建src、main、assets文件夹

 

第二步:导出U3D资源包

将U3D打包出的普通的资源包导出,目录如下图所示,

其中

1、需要将lib文件夹中的jar等文件放置原生项目lib文件夹中

2、需要将jniLibs中的so文件放置在原生项目的jniLibs文件夹中

3、将U3D中的androidmanifest文件中的文件合并到原生项目的androidmanifest文件中,尤其是unity.build-id的数值

4、将U3D中build.gradle文件下的内容同步到原生项目的gradle配置中

 第三步:放置资源包

将U3D资源包中assets/bin/data文件夹中文件全部拷贝至第一步中的assets文件夹中

第四步:创建U3D资源的build.gradle文件

在install-time-asset_pack文件夹根目录下创建build.gradle文件,并添加以下代码:

 

apply plugin: 'com.android.asset-pack'

assetPack {
    // packName 的名称可更改,但是要和配置对应上
    packName = "install_time_asset_pack" 
    dynamicDelivery {
    //此处设备类型为应用安装时使用
    deliveryType = "install-time"  
    }

第五步:修改project中根目录的setting.gradle文件中,添加如下代码引用:

include ':install_time_asset_pack' 

 第六步:修app级的build.gradle代码修改

1、在android根目录下添加如下代码:

android {
 assetPacks = [":install_time_asset_pack"] 
}

2、 在android根目录下添加如下代码:

针对不同的分辨率和CPU进行分包

android {
    splits {
        abi {
            enable true
            reset()
            include 'arm64-v8a', 'armeabi-v7a'
            universalApk true
        }
    }

    bundle {
        density {
            enableSplit true
        }
        abi {
            enableSplit true
        }
        language {
            enableSplit false
        }
    }
}

3、 在dependencies根目录下添加如下代码: 

dependencies {
    implementation 'com.google.android.play:core:1.10.0'
}

 第七步:打包aab文件

第八步:本地aab文件转换为apk本地测试

第九步:上传google play进行内部测试

第十步:内部测试完毕,正式发布。