1

我尝试使用 Java 绑定库来使用 MultiImageChooser ( https://github.com/derosa/MultiImageChooser )。

这些是我采取的步骤:

  1. 在eclipse中加载了MultiImageChooser项目并导出了一个gallery.jar。
  2. 在我的解决方案中,在 Visual Studio 中创建了一个 Java 绑定库项目。
  3. 将gallery.jar 添加到“Jars”并将其类型更改为“EmbeddedJar”。
  4. 添加了参考 jar(universal-image-loader-1.8.0.jar 和 android-support-v4.jar)并将它们的类型更改为“EmbeddedReferenceJar”。
  5. 向 Metadata.xml 添加了一个转换以传递编译(协变返回类型):

    attr
    path="/api/package[@name='com.luminous.pick']/class[@name='GalleryAdapter']/method[@name='getItem']" name="managedReturn"> Java.Lang .对象
    / attr

  6. 它通过了编译,但 BuildApk 任务因 System.ArgumentException 失败:已添加具有相同密钥的项目。

(_BuildApkFastDev 目标)-> C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1132,3):错误 MSB4018:“BuildApk”任务意外失败。[C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj] C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1132,3): 错误 MSB4018: System.ArgumentException: An已添加具有相同密钥的项目。[C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj] C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1132,3):错误 MSB4018:在 System.ThrowHelper。 ThrowArgumentException(ExceptionResource 资源)[C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj] C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1132,3):错误 MSB4018:在系统。InternalAddEntry(ZipEntry ze) [C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj] C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1132,3):错误 MSB4018:在 Ionic.Zip.ZipFile.AddEntry(String entryName, Stream stream) [C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj] C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common。目标(1132,3): 错误 MSB4018: 在 Ionic.Zip.ZipFile.AddEntry(String entryName, Byte[] byteContent) [C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj] C:\Program Files (x86)\ MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1132,3): 错误 MSB4018: 在 Xamarin.Android.Tasks.BuildApk.Execute() [C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj] C: \Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1132,3):错误 MSB4018:在 Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() [C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj] C:\Program Files (x86)\MSBuild\Xamarin\ Android\Xamarin.Android.Common.targets(1132,3):错误 MSB4018:在 Microsoft.Build.BackEnd.TaskBuilder.d_20.MoveNext() [C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj]

知道如何调试或继续此操作吗?

4

1 回答 1

1

幸好你列出了你执行的确切步骤,我被同样的问题困住了,整晚都在打破我的头。问题与您在eclipse中构建的jar有关。导出到 jar 时,请确保取消选中所有其他项目文件,例如 .classpath、.project、pom.xml、project.properties,尤其是 AndroidManifest.xml。由于这些进入了 jar,最终有两个 android 清单文件导致您看到的错误。

于 2013-04-03T05:14:24.987 回答