.dll
in EDM4U to a versioned folder and remove their
version postfix in their filename. For instance, IOSResolver.dll
will be
placed at ExternalDependencyManager/Editor/1.2.167/Google.IOSResolver.dll
.mainTemplate.gradle
when duplicated dependencies are presented.GetApplicationIdentifier()
Unity API using reflection, due to a new
overloaded method introduced in Unity 2021.2.Dependency.IsGreater()
when the
version strings end '+'.HttpUtility.UrlEncode()
which causes NullReferenceException in certain version of Unity.addToAllTargets
in Dependencies.xml.bitcodeEnabled
attribute in
Dependencies.xml.gradleTemplate.properties
not enabled when
mainTemplate.gradle
is not enabled at all.>28
is selected in 2019. This is due to
Unity AndroidSdkVersions enum does not contain values above 28.Custom Gradle Properties Template
found under
Player Settings > Settings for Android > Publishing Settings
.-executeMethod
is used in
non-batch mode..unitypackage
to Unity Package Manager
packages. This is initially used to migrate the External Dependency Manager
to UPM.-gvh_log_debug
command
line flag when starting Unity.play-services-resolver*.unitypackage
will now have
to request external-dependency-manager*.unitypackage
instead.
We'll still be shipping a play-services-resolver*_manifest.txt
file to
handle upgrading from older versions of the plugin.pod install
is executed.VersionHandler.UpdateVersionedAssets()
.Android Resolver: File paths are now serialized with POSIX directory separators.
Android Resolver: Fixed resolution when the parent directory of a Unity
project contains a Gradle project (i.e settings.gradle
file).
All components: Source control integration for project settings.
Android Resolver: Removed AAR cache as it now makes little difference to incremental resolution performance.
Android Resolver: Improved embedded resource management so that embedded resources should upgrade when the plugin is updated without restarting the Unity editor.
Version Handler: Fixed InvokeMethod() and InvokeStaticMethod() when calling methods that have interface typed arguments.
iOS Resolver: Added support for loading *Dependencies.xml files from Unity Package Manager packages.
Android Resolver: Fixed generation of relative repo paths when using mainTemplate.gradle resolver.
Android Resolver: Fixed copy of .srcaar to .aar files in repos embedded in a project when a project path has characters (e.g whitespace) that are escaped during conversion to URIs.
Android Resolver: Fixed auto-resolution always running if the Android SDK is managed by Unity Hub.
Use Jetifier
option in the
Assets > Play Services Resolver > Android Resolver > Settings
menu.
Caveats:
*Dependencies.xml
files so that the Jetifier
can map them to Jetpack (AndroidX) libraries.
For example, remove the file support-v4-27.0.2.jar
and replace it with
<androidPackage spec="com.android.support:support-v4:27.0.2"/>
in a
*Dependencies.xml
file.*Dependencies.xml
files so that the Jetifier can
patch them to reference the Jetpack lirbaries.Version Handler: Files can be now targeted to multiple build targets using multiple "gvh_" asset labels.
Android Resolver: "implementation" or "compile" are now added correctly to mainTemplate.gradle in Unity versions prior to 2019.
Assets > Play Services Resolver > Android Resolver > Settings
.Android Resolver: Made paths to local maven repositories in mainTemplate.gradle relative to the Unity project when a project is not being exported.
Android Resolver: Fixed builds with mainTemplate.gradle integration in Unity 2019.
Android Resolver: Changed dependency inclusion in mainTemplate.gradle to use "implementation" or "compile" depending upon the version of Gradle included with Unity.
Android Resolver: Gracefully handled exceptions if the console encoding can't be modified.
Android Resolver: Now gracefully fails if the AndroidPlayer directory can't be found.
iOS Resolver: Pod declaration properties can now be set via XML pod references. For example, this can enable pods for a subset of build configurations.
iOS Resolver: Fixed incremental builds after local pods support caused regression in 1.2.96.
*Dependencies.xml
files are deleted.Improved reporting of resolution attempts and conflicts found in the Android Resolver.
iOS Resolver now correctly handles sample code in CocoaPods. Previously it would add all sample code to the project when using project level integration.
Android Resolver now correctly handles Gradle conflict resolution when the resolution results in a package that is compatible with all requested dependencies.
PlayerSettings.Android.targetArchitectures
was set to
AndroidArchitecture.All
.Assets/Plugins/Android
directory is named in a different case e.g Assets/plugins/Android
.Improved error reporting when a file can't be moved to trash by the Version Handler.
Fixed Android Resolver throwing NullReferenceException when the Android SDK path isn't set.
Fixed Version Handler renaming files with underscores if the "Rename to Canonical Filenames" setting is enabled.
Android Resolver now validates the configured JDK is new enough to build recently released Android libraries.
Fixed a bug that caused dependencies with the "LATEST" version specification to be ignored when using the Gradle mode of the Android Resolver.
Fixed a race condition when running Android Resolution.
Fixed Android Resolver logging if a PlayServicesSupport instance is created with no logging enabled before the Android Resolver is initialized.
Fixed iOS resolver dialog in Unity 4.
Fixed iOS Cocoapod Xcode project integration in Unity 4.
Android Resolver now supports resolution with Gradle. This enables support for non-local artifacts.
Android Resolver's Gradle Prebuild now uses Android build tools to determine the Android platform tools version rather than relying upon internal Unity APIs.
Android Resolver's Gradle Prebuild now correctly strips binaries that are not required for the target ABI.
Improved logging in the Version Handler.
Fixed an issue in the Version Handler which caused it to not re-enable plugins when re-importing a custom package with disabled version managed files.
Added warning when the Jar Resolver's background resolution is disabled.
Fixed support of AARs with native libraries when using Gradle.
Fixed extra repository paths when resolving dependencies.
Added option to run pod tool via the shell.
Fixed build of some source Cocoapods (e.g Protobuf).
VersionHandler no longer prompts to delete obsolete manifests.
iOS resolver handles Cocoapod installation when using Ruby < 2.2.2.
Added workaround for package version selection when including Google Play Services on Android.
Fixed support for pods that reference static libraries.
Fixed support for resource-only pods.
## Bug Fixes