diff --git a/src/Xamarin.Android.Build.Tasks/Tasks/ResolveLibraryProjectImports.cs b/src/Xamarin.Android.Build.Tasks/Tasks/ResolveLibraryProjectImports.cs
index 477fd3963e7..8da2ddb3b5d 100644
--- a/src/Xamarin.Android.Build.Tasks/Tasks/ResolveLibraryProjectImports.cs
+++ b/src/Xamarin.Android.Build.Tasks/Tasks/ResolveLibraryProjectImports.cs
@@ -259,8 +259,8 @@ void Extract (
// temporarily extracted directory will look like:
// __library_projects__/[dllname]/[library_project_imports | jlibs]/bin
using (var zip = MonoAndroidHelper.ReadZipFile (finfo.FullName)) {
- updated |= Files.ExtractAll (zip, outDirForDll, modifyCallback: (entryFullName) => {
- return entryFullName.Replace ("library_project_imports", ImportsDirectory);
+ updated |= Files.ExtractAll (zip, importsDir, modifyCallback: (entryFullName) => {
+ return entryFullName.Replace ("library_project_imports/", "");
}, forceUpdate: false);
}
diff --git a/tests/locales/LibraryResources/Environment.txt b/tests/locales/LibraryResources/Environment.txt
new file mode 100644
index 00000000000..4259a506aab
--- /dev/null
+++ b/tests/locales/LibraryResources/Environment.txt
@@ -0,0 +1 @@
+THIS_IS_MY_ENVIRONMENT=Well, hello there!
diff --git a/tests/locales/LibraryResources/LibraryResources.csproj b/tests/locales/LibraryResources/LibraryResources.csproj
index 96b52d0d6d6..c63a6a1d884 100644
--- a/tests/locales/LibraryResources/LibraryResources.csproj
+++ b/tests/locales/LibraryResources/LibraryResources.csproj
@@ -52,6 +52,9 @@
+
+
+
diff --git a/tests/locales/Xamarin.Android.Locale-Tests/EnvironmentTests.cs b/tests/locales/Xamarin.Android.Locale-Tests/EnvironmentTests.cs
new file mode 100644
index 00000000000..f22247a6e1b
--- /dev/null
+++ b/tests/locales/Xamarin.Android.Locale-Tests/EnvironmentTests.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Reflection;
+
+using NUnit.Framework;
+
+namespace Xamarin.Android.LocaleTests
+{
+ [TestFixture]
+ public class EnvironmentTests
+ {
+ [Test (Description="https://bugzilla.xamarin.com/show_bug.cgi?id=58673")]
+ public void EnvironmentVariablesFromLibraryProjectsAreMerged ()
+ {
+ var v = Environment.GetEnvironmentVariable ("THIS_IS_MY_ENVIRONMENT");
+ Assert.AreEqual (v, "Well, hello there!");
+ }
+ }
+}
+
diff --git a/tests/locales/Xamarin.Android.Locale-Tests/Xamarin.Android.Locale-Tests.csproj b/tests/locales/Xamarin.Android.Locale-Tests/Xamarin.Android.Locale-Tests.csproj
index a0a1ad66bea..081374fa954 100644
--- a/tests/locales/Xamarin.Android.Locale-Tests/Xamarin.Android.Locale-Tests.csproj
+++ b/tests/locales/Xamarin.Android.Locale-Tests/Xamarin.Android.Locale-Tests.csproj
@@ -51,6 +51,7 @@
+