Xamarin.Android使用带有MultiImageChooser的java绑定库

时间:2013-03-13 17:26:29

标签: xamarin.android java-binding

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

这些是我采取的步骤:

  1. 在eclipse中加载了MultiImageChooser项目并导出了一个gallery.jar。
  2. 在我的解决方案中,在Visual Studio中创建了一个Java Binding Library项目。
  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.Object继承   
    / ATTR

  6. 它传递了compliation,但BuildApk任务因System.ArgumentException而失败:已经添加了具有相同键的项目。

  7.   

    (_ BuildApkFastDev target) - >     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:已添加具有相同键的项。 [C:\ awork \ TestClientNG \ TestAndroidApp \ TestAndroidApp.csproj]   C:\ Program Files(x86)\ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets(1132,3):错误MSB4018:at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)[C:\ awork \ TestClientNG \ TestAndroidApp \ TestAndroidApp.csproj]   C:\ Program Files(x86)\ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets(1132,3):错误MSB4018:在System.Collections.Generic.Dictionary`2.Insert(TKey键,TValue值, Boolean add)[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):错误MSB4018:at 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:at 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:at 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 个答案:

答案 0 :(得分:1)

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