Home

Awesome

Usdk

这是一个Unity3D移动平台sdk快速适配框架和多渠道打包平台,方便android、ios移动平台渠道sdk或者各种Native功能插件的快速接入,接入过程无需修改添加任何的C#代码。内置的打包工具,能够在不修改任何unity工程的情况下实现快速的单渠道和多渠道打包。sdk适配时间和渠道打包时间至少可以减少一半以上。

目录结构

usdk目录结构与目录说明(xmind思维导图) image

文档

Android开发文档
iOS开发文档
Unity导出xcode自动配置工具文档
智能支持CocoaPods项目的构建文档
Unity端API使用

系统要求

#android: #Java JDK1.7或1.8,android sdk8.0以上(至少升到了27)

Unity3D版本支持

兼容unity2018及之前的版本 兼容unity2019及之后的版本 Unity全版本支持

多平台支持

目前支持android、ios android平台支持eclipse、android studio工程适配 ios支持xcode工程适配

快速适配渠道sdk和Native插件

Usdk能够快速的适配各个渠道sdk和Native插件,适配过程无需修改和添加任何C#代码,做到C#代码的零入侵。 Usdk可以做到按需调用各种Native插件,各种Native插件可以按需打入各个渠道包,剔除无用的Native插件,从而节省包体。

支持项目依赖

android:android平台通过gradle打包,所以天然的就支持项目依赖。只需要把依赖项目做成一个module放到渠道libs文件夹下,在settings.gradle中配置module的依赖路径,再在build.gradle的dependencies节点下依赖相应的module即可。 iOS:可以通过Framework、cocoaPods、workspace的方式建立私有库的依赖。

强大的多渠道打包平台

Usdk不仅仅是一个sdk适配框架,更是一个功能强大的多渠道打包平台,通过强大的sdk适配机制能够快速的实现单渠道和多渠道的出包,并且可以大大的减少出包时间。

jenkins远程构建支持

Usdk实现了本地命令行打包工具(build.bat\build.sh),使用jenkins远程构建只需要把本地的命令行工具稍作修改,把本地输入参数操作去掉并在jenkins平台上进行参数设置再调用本地命令行工具打包即可。

Unity导出xcode自动配置工具(文档)

Unity导出xcode自动配置工具文档
在unity4.x通过xupoter插件来设置unity导出xcode自动配置,到了unity5.x unity自己实现了一套工具,并且比xupoter提供了更多的操作可能。但是unity的工具集成在了unity编辑器里面,所以如果要想使用只能在unity工程中通过编辑器功能来操作导出xcode工程的自动配置。这样有一个缺点就是对于unity工程不需要变化但是又要打多个渠道的iOS包的情况下需要每次都要重新从Unity导出到xcode,对于大项目这是十分浪费时间的。针对上述情况,Usdk独立出了unity这套自动配置工具,完全脱离了Unity体系,能够单独作为一个外部工具随时随地的操作xcode工程下的工程配置文件和Info.plist配置文件,可以添加或者移除指定库、源码、资源等,操作非常灵活,只要你能想得到的操作都能够实现。 并且工具通过unity安装目录下的mono虚拟机进行运行,所以具有跨平台的能力,不管是windows还是mac都能够使用。 XcodeSetting配置格式参考Usdk\publish\ios\tools\XcodeSettingTemplate.json文件

iOS打包智能支持CocoaPods项目的构建(文档)

智能支持CocoaPods项目的构建文档
Usdk加入了CocoaPods自动构建工具,使得cocoapods方式构建xcode工程成为可能,内置工具可以实现Project\Workspace xcode项目类型的构建。 iOS多渠道多插件出包不仅支持本地Framework的导入,还智能支持CocoaPods远程仓库依赖的构建,并且两种方式可以混用。只需要在插件或者渠道的module文件夹下加入一个CocoaPods.json的依赖配置文件即可,打包工具即会智能识别依赖并构建CocoaPods项目。

google aab包支持

google现在上架必须使用aab包,但是aab包大于150m就无法上传了,必须把资源转成install-time或者fast-time模式。aab_convert工具能够帮助把unity打好的aab包自动转换成install-time模式,解除150m的上传限制,最大可以上传1g大的包,并且unity内的加载代码和逻辑都不用修改。打包脚本中也增加了aab打包的命令,如果没有aab打包需求,只需要注释掉打包脚本中的./gradlew bundleRelease --stacktrace命令即可。
1、每个 fast-follow 和 on-demand Asset Pack 的下载大小上限为 512 MB。
2、所有 install-time Asset Pack 的总下载大小上限为 1 GB。
3、一个 Android App Bundle 中的所有 Asset Pack 的总下载大小上限为 2 GB。
4、一个 Android App Bundle 中最多可以使用 50 个资源包。

FAQ

1、打出来的包名字乱码问题?
如果出现打包出来的包的名字是乱码,请publish.properties文件转成utf8编码。
2、打出来的包安装好后出现2个应用图标?
由于gradle合并的时候会把unity自动生成的AndroidManifest.xml中的main activity配置和usdk的AndroidManifest.xml的main activity合并到一起,所以出现了2个应用图标。需要把usdk/unity工程中的plugins/android/AndroidManifest.xml文件夹中的文件复制到你自己的工程中。
3、如果智能构建cocoapods工程失败,请检查cocoapods自动安装是否失败,如果失败请手动安装cocoapods(传送门),手动安装失败的话请升级mac中ruby版本到最新(传送门),mac默认的ruby版本太老。

技术支持

QQ群:3112035