2013-03-13 37 views
0

我试过使用Java绑定库来使用MultiImageChooser(https://github.com/derosa/MultiImageChooser)。Xamarin.Android与MultiImageChooser一起使用java绑定库

这些是我所采取的步骤:

  1. 加载在Eclipse中MultiImageChooser项目,并出口了gallery.jar。
  2. 在我的解决方案中,在Visual Studio中创建一个Java绑定库项目。
  3. 将gallery.jar添加到“Jars”并将其类型更改为“EmbeddedJar”。
  4. 添加了引用jars(universal-image-loader-1.8.0.jar和android-support-v4.jar),并将其类型更改为“EmbeddedReferenceJar”。
  5. 加入metadata.xml中为了通过汇编(协变返回类型)的变换:

    ATTR
    路径=“/ API /包[@名称= 'com.luminous.pick'] /类[@名= 'GalleryAdapter'] /方法[@名称= '的getItem']”名称= “managedReturn”> java.lang.Object中
    /ATTR

  6. 它通过compliation,但BuildApk任务失败,出现System.ArgumentException:具有相同键的项目已被添加。

(_BuildApkFastDev目标) - > C:\程序文件(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):error MSB4018:System.ArgumentException:具有相同密钥的项目已被添加。 [C:\ awork \ TestClientNG \ TestAndroidApp \ TestAndroidApp.csproj] C:\ Program Files(x86)\ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets(1132,3):error MSB4018:at System.ThrowHelper .ThrowArgumentException(ExceptionResource资源)[C:\ awork \ TestClientNG \ TestAndroidApp \ TestAndroidApp.csproj] C:\ Program Files文件(x86)\ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets(1132,3):error MSB4018:在System.Collections.Generic.Dictionary`2.Insert(TKey键,TValue值,布尔添加)[C:\ awork \ TestClientNG \ TestAndroidApp \ TestAndroidApp.csproj] C:\ Program Files(x86)\ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets(1132,3):错误MSB4018:在Ionic.Zip.ZipFile。 InternalAddEntry(ZipEntry ze)[C:\ awork \ TestClientNG \ TestAndroidApp \ TestAndroidApp.csproj] C:\ Program Files(x86)\ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets(1132,3):error 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.targets(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):er R: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]

任何想法如何调试或继续这个?

回答

1

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

+0

谢谢!我没有检查过,但是当你遇到同样的问题时,我会将它标记为答案。我自己最终自己改写了这个库,并且只绑定了通用图像加载器。 – kobigurk 2013-04-03 07:38:03