Note that there are some explanatory texts on larger screens.

plurals
  1. POjar-Binding of ActionBarSherlock for Mono for Android
    primarykey
    data
    text
    <p>I'like to bind the jar-library of ActionBarSherlock in my Mono For Android project. I am reverencing to this documentation: <a href="http://docs.xamarin.com/android/tutorials/Binding_a_Java_Library_%28.jar%29">http://docs.xamarin.com/android/tutorials/Binding_a_Java_Library_(.jar)</a></p> <p>I have successfully bound android-support-v4.jar which is needed by ActionBarSherlock. But when I try to compile actionbarsherlock.jar, it gives me the following error message:</p> <pre><code>Target ResolveLibraryProjects: Skipping target "ResolveLibraryProjects" because it has no inputs. Target _ResolveMonoAndroidSdks: MonoAndroid Tools: C:\Program Files (x86)\MSBuild\Novell\ MonoAndroid Framework: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v2.2\;C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\ Android SDK: C:\Program Files (x86)\Android\android-sdk\ Java SDK: C:\Program Files (x86)\Java\jdk1.6.0_31\ Target ExportJarToXml: SourceJars: Jars\actionbarsherlock.jar ReferenceJars: Jars\android-support-v4.jar C:\Program Files (x86)\Java\jdk1.6.0_31\bin\java.exe -jar "C:\Program Files (x86)\MSBuild\Novell\jar2xml.jar" --jar=C:\Users\assrock\Documents\JavaBind\JavaBind\Jars\actionbarsherlock.jar --ref="C:\Program Files (x86)\Android\android-sdk\platforms\android-8\android.jar" --out=C:\Users\assrock\Documents\JavaBind\JavaBind\obj\Release\api.xml --ref=C:\Users\assrock\Documents\JavaBind\JavaBind\Jars\android-support-v4.jar Couldn't load class com/actionbarsherlock/internal/ActionBarSherlockNative$ActionModeCallbackWrapper Couldn't load class com/actionbarsherlock/internal/app/ActionBarWrapper$TabWrapper Couldn't load class com/actionbarsherlock/internal/app/ActionBarWrapper Couldn't load class com/actionbarsherlock/internal/view/ActionProviderWrapper Couldn't load class com/actionbarsherlock/internal/view/menu/MenuItemWrapper$1 Exception in thread "main" java.lang.NoClassDefFoundError: com/actionbarsherlock/R at java.lang.Class.getDeclaringClass(Native Method) at jar2xml.JavaClass.getConstructorParameterOffset(JavaClass.java:149) at jar2xml.JavaClass.appendCtor(JavaClass.java:138) at jar2xml.JavaClass.appendToDocument(JavaClass.java:462) at jar2xml.JavaPackage.appendToDocument(JavaPackage.java:66) at jar2xml.Start.main(Start.java:157) Caused by: java.lang.ClassNotFoundException: com.actionbarsherlock.R at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 6 more C:\Program Files (x86)\MSBuild\Novell\Xamarin.Android.Bindings.targets(170,5): error MSB6006: "java.exe" exited with code 1. Task "JarToXml" execution -- FAILED Done building target "ExportJarToXml" in project "C:\Users\assrock\Documents\JavaBind\JavaBind\JavaBind.csproj".-- FAILED Done building project "C:\Users\assrock\Documents\JavaBind\JavaBind\JavaBind.csproj".-- FAILED Build FAILED. Warnings: C:\Program Files (x86)\MSBuild\Novell\Xamarin.Android.Bindings.targets(40,11): warning MSB4011: There is a circular reference involving the import of file "c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.CSharp.Targets". This file may have been imported more than once, or you may have attempted to import the main project file. All except the first instance of this file will be ignored. Errors: C:\Users\assrock\Documents\JavaBind\JavaBind\JavaBind.csproj (Build) -&gt; C:\Program Files (x86)\MSBuild\Novell\Xamarin.Android.Bindings.targets (ExportJarToXml target) -&gt; C:\Program Files (x86)\MSBuild\Novell\Xamarin.Android.Bindings.targets(170,5): error MSB6006: "java.exe" exited with code 1. 1 Warning(s) 1 Error(s) Time Elapsed 00:00:00.4730270 --------------------- Fertig --------------------- Build: 1 Fehler, 0 Warnungen </code></pre> <p>For the android-support-v4.jar I found these xml-files and put them in the Transforms directory: </p> <p>EnumFields.xml</p> <pre><code>&lt;enum-field-mappings&gt; &lt;mapping jni-class="android/support/v4/app/FragmentActivity$FragmentTag" clr-enum-type="Android.Support.V4.App.FragmentTagType"&gt; &lt;field jni-name="Fragment_id" clr-name="Id" value="1" /&gt; &lt;field jni-name="Fragment_name" clr-name="Name" value="0" /&gt; &lt;field jni-name="Fragment_tag" clr-name="Tag" value="2" /&gt; &lt;/mapping&gt; &lt;/enum-field-mappings&gt; </code></pre> <p>EnumMethods.xml</p> <pre><code>&lt;enum-method-mappings&gt; &lt;mapping jni-class="android/support/v4/app/Fragment$SavedState"&gt; &lt;method jni-name="writeToParcel" parameter="p1" clr-enum-type="Android.OS.ParcelableWriteFlags" /&gt; &lt;method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" /&gt; &lt;/mapping&gt; &lt;/enum-method-mappings&gt; </code></pre> <p>Metadata.xml</p> <pre><code>&lt;metadata&gt; &lt;remove-node path="/api/package[@name='android.support.v4.app']/class[@name='BackStackState']" /&gt; &lt;remove-node path="/api/package[@name='android.support.v4.app']/class[@name='FragmentState']" /&gt; &lt;remove-node path="/api/package[@name='android.support.v4.app']/class[@name='FragmentManagerState']" /&gt; &lt;remove-node path="/api/package[@name='android.support.v4.widget']/class[@name='CursorAdapter']/implements[@name='android.support.v4.widget.CursorFilter.CursorFilterClient']" /&gt; &lt;remove-node path="/api/package[@name='android.support.v4.widget']/class[@name='CursorAdapter']/field[@name='mCursorFilter']" /&gt; &lt;remove-node path="/api/package[@name='android.support.v4.content']/class[@name='AsyncTaskLoader.LoadTask']" /&gt; &lt;!-- FIXME: This method is an override of another method in the base types. The base method expects JLO, but this method returns Cursor. So we somehow have to fill the gap between them. --&gt; &lt;remove-node path="/api/package[@name='android.support.v4.content']/class[@name='CursorLoader']/method[@name='loadInBackground']" /&gt; &lt;remove-node path="/api/package[@name='android.support.v4.view.accessibility']/class[@name='AccessibilityNodeInfoCompat.AccessibilityNodeInfoIcsImpl']" /&gt; &lt;remove-node path="/api/package[@name='android.support.v4.widget']/class[@name='CursorAdapter.ChangeObserver']" /&gt; &lt;remove-node path="/api/package[@name='android.support.v4.view.accessibility']/class[@name='AccessibilityNodeInfoCompat.AccessibilityNodeInfoIcsImpl']" /&gt; &lt;remove-node path="/api/package[@name='android.support.v4.view.accessibility']/class[@name='AccessibilityNodeInfoCompat.AccessibilityNodeInfoStubImpl']" /&gt; &lt;remove-node path="/api/package[@name='android.support.v4.view']/interface[@name='ViewPager.OnAdapterChangeListener']" /&gt; &lt;attr path="/api/package[@name='android.support.v4.app']/class[@name='LoaderManager']/method[@name='initLoader']/parameter[@name='p2']" name="type"&gt;android.support.v4.app.LoaderManager.LoaderCallbacks&lt;/attr&gt; &lt;attr path="/api/package[@name='android.support.v4.app']/class[@name='LoaderManager']/method[@name='initLoader']/parameter[@name='callback']" name="type"&gt;android.support.v4.app.LoaderManager.LoaderCallbacks&lt;/attr&gt; &lt;attr path="/api/package[@name='android.support.v4.app']/class[@name='LoaderManager']/method[@name='initLoader']" name="return"&gt;android.support.v4.content.Loader&lt;/attr&gt; &lt;attr path="/api/package[@name='android.support.v4.app']/class[@name='LoaderManager']/method[@name='restartLoader']/parameter[@name='p2']" name="type"&gt;android.support.v4.app.LoaderManager.LoaderCallbacks&lt;/attr&gt; &lt;attr path="/api/package[@name='android.support.v4.app']/class[@name='LoaderManager']/method[@name='restartLoader']/parameter[@name='callback']" name="type"&gt;android.support.v4.app.LoaderManager.LoaderCallbacks&lt;/attr&gt; &lt;attr path="/api/package[@name='android.support.v4.app']/class[@name='LoaderManager']/method[@name='restartLoader']" name="return"&gt;android.support.v4.content.Loader&lt;/attr&gt; &lt;/metadata&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload