External Dependency Manager for Unity
========
# Overview
The External Dependency Manager for Unity (EDM4U)
(formerly Play Services Resolver / Jar Resolver) is intended to be used by any
Unity plugin that requires:
* Android specific libraries (e.g
[AARs](https://developer.android.com/studio/projects/android-library.html)).
* iOS [CocoaPods](https://cocoapods.org/).
* Version management of transitive dependencies.
* Management of Package Manager (PM) Registries.
Updated releases are available on
[GitHub](https://github.com/googlesamples/unity-jar-resolver)
# Background
Many Unity plugins have dependencies upon Android specific libraries, iOS
CocoaPods, and sometimes have transitive dependencies upon other Unity plugins.
This causes the following problems:
* Integrating platform specific (e.g Android and iOS) libraries within a
Unity project can be complex and a burden on a Unity plugin maintainer.
* The process of resolving conflicting dependencies on platform specific
libraries is pushed to the developer attempting to use a Unity plugin.
The developer trying to use your plugin is very likely to give up when
faced with Android or iOS specific build errors.
* The process of resolving conflicting Unity plugins (due to shared Unity
plugin components) is pushed to the developer attempting to use your Unity
plugin. In an effort to resolve conflicts, the developer will very likely
attempt to resolve problems by deleting random files in your plugin,
report bugs when that doesn't work and finally give up.
EDM provides solutions for each of these problems.
## Android Dependency Management
The *Android Resolver* component of this plugin will download and integrate
Android library dependencies and handle any conflicts between plugins that share
the same dependencies.
Without the Android Resolver, typically Unity plugins bundle their AAR and
JAR dependencies, e.g. a Unity plugin `SomePlugin` that requires the Google
Play Games Android library would redistribute the library and its transitive
dependencies in the folder `SomePlugin/Android/`. When a user imports
`SomeOtherPlugin` that includes the same libraries (potentially at different
versions) in `SomeOtherPlugin/Android/`, the developer using `SomePlugin` and
`SomeOtherPlugin` will see an error when building for Android that can be hard
to interpret.
Using the Android Resolver to manage Android library dependencies:
* Solves Android library conflicts between plugins.
* Handles all of the various processing steps required to use Android
libraries (AARs, JARs) in Unity 4.x and above projects. Almost all
versions of Unity have - at best - partial support for AARs.
* (Experimental) Supports minification of included Java components without
exporting a project.
## iOS Dependency Management
The *iOS Resolver* component of this plugin integrates with
[CocoaPods](https://cocoapods.org/) to download and integrate iOS libraries
and frameworks into the Xcode project Unity generates when building for iOS.
Using CocoaPods allows multiple plugins to utilize shared components without
forcing developers to fix either duplicate or incompatible versions of
libraries included through multiple Unity plugins in their project.
## Package Manager Registry Setup
The [Package Manager](https://docs.unity3d.com/Manual/Packages.html)
(PM) makes use of [NPM](https://www.npmjs.com/) registry servers for package
hosting and provides ways to discover, install, upgrade and uninstall packages.
This makes it easier for developers to manage plugins within their projects.
However, installing additional package registries requires a few manual steps
that can potentially be error prone. The *Package Manager Resolver*
component of this plugin integrates with
[PM](https://docs.unity3d.com/Manual/Packages.html) to provide a way to
auto-install PM package registries when a `.unitypackage` is installed which
allows plugin maintainers to ship a `.unitypackage` that can provide access
to their own PM registry server to make it easier for developers to
manage their plugins.
## Unity Plugin Version Management
Finally, the *Version Handler* component of this plugin simplifies the process
of managing transitive dependencies of Unity plugins and each plugin's upgrade
process.
For example, without the Version Handler plugin, if:
* Unity plugin `SomePlugin` includes `EDM4U` plugin at
version 1.1.
* Unity plugin `SomeOtherPlugin` includes `EDM4U`
plugin at version 1.2.
The version of `EDM4U` included in the developer's project depends upon the
order the developer imports `SomePlugin` or `SomeOtherPlugin`.
This results in:
* `EDM4U` at version 1.2, if `SomePlugin` is imported then `SomeOtherPlugin`
is imported.
* `EDM4U` at version 1.1, if `SomeOtherPlugin` is imported then
`SomePlugin` is imported.
The Version Handler solves the problem of managing transitive dependencies by:
* Specifying a set of packaging requirements that enable a plugin at
different versions to be imported into a Unity project.
* Providing activation logic that selects the latest version of a plugin
within a project.
When using the Version Handler to manage `EDM4U` included in `SomePlugin` and
`SomeOtherPlugin`, from the prior example, version 1.2 will always be the
version activated in a developer's Unity project.
Plugin creators are encouraged to adopt this library to ease integration for
their customers. For more information about integrating EDM4U
into your own plugin, see the [Plugin Redistribution](#plugin-redistribution)
section of this document.
# Analytics
The External Dependency Manager for Unity plugin by default logs usage to Google
Analytics. The purpose of the logging is to quantitatively measure the usage of
functionality, to gather reports on integration failures and to inform future
improvements to the developer experience of the External Dependency Manager
plugin. Note that the analytics collected are limited to the scope of the EDM4U
plugin’s usage.
For details of what is logged, please refer to the usage of
`EditorMeasurement.Report()` in the source code.
# Requirements
The *Android Resolver* and *iOS Resolver* components of the plugin only work
with Unity version 4.6.8 or higher.
The *Version Handler* component only works with Unity 5.x or higher as it
depends upon the `PluginImporter` UnityEditor API.
The *Package Manager Resolver* component only works with
Unity 2018.4 or above, when
[scoped registry](https://docs.unity3d.com/Manual/upm-scoped.html)
support was added to the Package Manager.
# Getting Started
Before you import EDM4U into your plugin project, you first
need to consider whether you intend to *redistribute* `EDM4U`
along with your own plugin.
## Plugin Redistribution
If you're a plugin maintainer, redistributing `EDM4U` inside your own plugin
will ease the integration process for your users, by resolving dependency
conflicts between your plugin and other plugins in a user's project.
If you wish to redistribute `EDM4U` inside your plugin,
you **must** follow these steps when importing the
`external-dependency-manager-*.unitypackage`, and when exporting your own plugin
package:
1. Import the `external-dependency-manager-*.unitypackage` into your plugin
project by
[running Unity from the command line](https://docs.unity3d.com/Manual/CommandLineArguments.html), ensuring that
you add the `-gvh_disable` option.
1. Export your plugin by [running Unity from the command line](https://docs.unity3d.com/Manual/CommandLineArguments.html), ensuring that
you:
- Include the contents of the `Assets/PlayServicesResolver` and
`Assets/ExternalDependencyManager` directory.
- Add the `-gvh_disable` option.
You **must** specify the `-gvh_disable` option in order for the Version
Handler to work correctly!
For example, the following command will
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Prom Night Dress Up 舞会之夜装扮Unity豪华少女装扮游戏项目源码C# 支持Unity版本2021.3.15f1及以上 高中结束了,舞会之夜即将来临! 6 个女朋友要去参加舞会。他们中的哪一个将成为新的舞会女王?每个女孩都很漂亮,而且都有令人难以置信的时尚品味。为女孩们挑选最时尚的连衣裙和其他精美物品! 在这款专为女孩和时尚达人打造的化妆/装扮游戏中,有超过 200 种服装,全部免费,没有任何烦人的锁或应用内购买。事实上,我们的女孩装扮游戏都不需要真钱!这就是为什么我们自豪地相信我们的女孩游戏是 Android 和 Google Play 上最好的游戏!我们检查过,在其他地方你找不到如此丰富的衣服,而且完全是零成本和零烦恼。如果您喜欢这种友好的方式,请务必查看我们其他针对其他主题的女孩时尚达人游戏。 在这款新的女孩化妆游戏中,您可以浏览以下类别的物品:连衣裙、裙子、上衣、帽子、鞋子、斗篷、手套、项链、鲜花、手提包,当然还有发型。这些年轻的美女们梦想着参加舞会,现在是时候让她们看起来像华丽的公主了。免费玩“舞会之夜装扮”,为每个高中生穿上独特的服装,为舞会公主拍张照片
资源推荐
资源详情
资源评论
收起资源包目录
Prom Night Dress Up 舞会之夜装扮Unity豪华少女装扮游戏项目源码C# (2000个子文件)
unity-plugin-library.a 2.5MB
com.google.android.gms.play-services-ads-21.3.0.aar 4.1MB
androidx.work.work-runtime-2.7.0.aar 1.46MB
androidx.core.core-1.6.0.aar 906KB
com.google.android.gms.play-services-ads-lite-21.3.0.aar 701KB
com.google.android.gms.play-services-base-18.0.0.aar 536KB
com.google.android.gms.play-services-basement-18.0.0.aar 361KB
androidx.browser.browser-1.4.0.aar 198KB
com.google.android.gms.play-services-measurement-base-20.1.2.aar 189KB
androidx.fragment.fragment-1.0.0.aar 153KB
androidx.room.room-runtime-2.2.5.aar 94KB
com.google.android.ump.user-messaging-platform-2.0.0.aar 93KB
googlemobileads-unity.aar 77KB
com.google.android.gms.play-services-measurement-sdk-api-20.1.2.aar 75KB
com.google.android.gms.play-services-tasks-18.0.1.aar 70KB
androidx.viewpager.viewpager-1.0.0.aar 52KB
com.google.android.gms.play-services-appset-16.0.1.aar 46KB
androidx.coordinatorlayout.coordinatorlayout-1.0.0.aar 43KB
androidx.loader.loader-1.0.0.aar 33KB
androidx.customview.customview-1.0.0.aar 32KB
androidx.swiperefreshlayout.swiperefreshlayout-1.0.0.aar 32KB
androidx.drawerlayout.drawerlayout-1.0.0.aar 32KB
androidx.versionedparcelable.versionedparcelable-1.1.1.aar 30KB
androidx.slidingpanelayout.slidingpanelayout-1.0.0.aar 23KB
com.google.android.gms.play-services-ads-identifier-18.0.0.aar 20KB
androidx.startup.startup-runtime-1.1.1.aar 20KB
androidx.annotation.annotation-experimental-1.1.0.aar 17KB
androidx.print.print-1.0.0.aar 15KB
androidx.sqlite.sqlite-framework-2.1.0.aar 11KB
androidx.lifecycle.lifecycle-runtime-2.4.1.aar 11KB
androidx.legacy.legacy-support-core-ui-1.0.0.aar 11KB
androidx.documentfile.documentfile-1.0.0.aar 11KB
androidx.sqlite.sqlite-2.1.0.aar 11KB
androidx.cursoradapter.cursoradapter-1.0.0.aar 10KB
androidx.lifecycle.lifecycle-livedata-2.1.0.aar 10KB
androidx.lifecycle.lifecycle-process-2.4.1.aar 10KB
com.google.android.gms.play-services-ads-base-21.3.0.aar 8KB
androidx.lifecycle.lifecycle-livedata-core-2.1.0.aar 8KB
androidx.asynclayoutinflater.asynclayoutinflater-1.0.0.aar 8KB
androidx.interpolator.interpolator-1.0.0.aar 7KB
androidx.localbroadcastmanager.localbroadcastmanager-1.0.0.aar 7KB
androidx.lifecycle.lifecycle-viewmodel-2.0.0.aar 7KB
androidx.arch.core.core-runtime-2.1.0.aar 6KB
androidx.tracing.tracing-1.0.0.aar 4KB
androidx.legacy.legacy-support-core-utils-1.0.0.aar 4KB
androidx.lifecycle.lifecycle-service-2.1.0.aar 3KB
ScoreCard_2.anim 128KB
ScoreCard_3.anim 128KB
ScoreCard.anim 127KB
Opponent_ScoreCard_1.anim 93KB
Opponent_ScoreCard_2.anim 90KB
Opponent_ScoreCard_3.anim 90KB
Final_Score.anim 90KB
Models_Disappearing.anim 73KB
Opponent_ScoreCard_Final.anim 65KB
LogoAnimation.anim 20KB
Chest_closed.anim 15KB
Opponent_Model_Appearing.anim 14KB
VS.anim 11KB
Opponent groom.anim 11KB
LoadingText.anim 8KB
Play_Button.anim 7KB
LOGO.anim 5KB
Lower_avatar.anim 5KB
winner_Annimation.anim 4KB
Looser_Annimation.anim 4KB
upper_avatar.anim 4KB
GroomPosition 1.anim 4KB
western.anim 4KB
South_asian.anim 4KB
middle_east.anim 4KB
Upper_Panel.anim 4KB
Lower_Banner.anim 3KB
Opponent Animation.anim 2KB
GroomPosition 2.anim 1KB
upperIcons.anim 1KB
GoogleMobileAds.Editor.asmdef 415B
LiberationSans SDF.asset 2.15MB
LiberationSans SDF - Fallback.asset 525KB
ProjectSettings.asset 22KB
EmojiOne.asset 13KB
InputManager.asset 10KB
QualitySettings.asset 6KB
Default Style Sheet.asset 5KB
GraphicsSettings.asset 2KB
Physics2DSettings.asset 2KB
TMP Settings.asset 2KB
NavMeshAreas.asset 1KB
DynamicsManager.asset 1KB
MemorySettings.asset 1KB
EditorSettings.asset 1KB
PackageManagerSettings.asset 1003B
UnityConnectSettings.asset 901B
GoogleMobileAdsSettings.asset 573B
EditorBuildSettings.asset 552B
TagManager.asset 463B
AudioManager.asset 413B
TimelineSettings.asset 411B
VFXManager.asset 308B
TimeManager.asset 202B
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
小云同志你好
- 粉丝: 1065
- 资源: 1058
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于lua-nginx-module,可以多维度检查和拦截恶意网络请求,具有简单易用、高性能、轻量级的特点
- 一个基于qt开发的包含各种基础图像处理技术的桌面应用,图像处理算法基于halcon,有直接调用halcon脚本和执行halcon
- 【带个人免签支付】宝宝取名源码 易经在线起名网 周易新生儿取名 生辰八字取名系统
- 微信公众号批量下载工具
- 创维8A06机芯 E750A系列 通用主程序 电视刷机 固件升级包 Ver01.01
- LxRunOffline-v3.5.0-11-gfdab71a-msvc.zip
- 惠普Laser Jet Professional P1100(系列)打印机驱动下载
- C#毕业设计基于leap motion和CNN的手语识别系统源代码+数据集+项目文档+演示视频
- 绑定halcon显示控件,可实现ROI交互,用于机器视觉领域.zip
- java连接数据库,jdbc连接数据库,并实现在控制台显示输入书名查询书本
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功