一. Android Studio3.3以上版本
如果SDK使用了Android 3.3版本,gradle版本可能要求升级为4.x版本,而Android Plugin版本会要求了3.x版本,示例:com.android.tools.build:gradle:3.2.1,而Unity2017.4.1f1内置的gradle插件版本仅为4.0.1,Android Plugin版本位2.3,会由于不兼容,使用Internal和Gradle方式均失败。解决办法就是导出Android Project,手动调用高版本的gradle进行打包。具体的Unity内置的gradle和Android版本参考:Android Gradle/Plugins版本。
二. 自定义Android Application
多数渠道SDK都是要求继承某个Activity或者调用Singleton类来进行交互,最近新初的SDK如快手SDK,要求继承自SDK自带的Application,每个Android Apk有且只有一个Application,可以有多个Activity,但需要指定一个Main Activity作为Entry Point,Application默认做一些启动初始化的事情,一般而言无需修改,如果想修改,则需要在AndroidManifest.xml中指定自定义的Application类。
三. Android SDK使用Maven自动依赖
常规针对Unity开发的Android SDK,其依赖项往往被打包为aar文件。但有些SDK,只提供了pom依赖项描述文件,打包时自动下载其依赖项,十分方便,只需要在项目gradle配置加入jcenter和goolge依赖即可。这种方法下,最好导出Android Project调用Gradle进行处理,且需要全程联网,否则依赖模糊的插件会大概率失败,中断整个打包流程。