[mono-android] Failure to package/build with generic class inheriting from JavaList<T>

Felix Collins felix at intranel.com
Mon Dec 19 23:03:45 EST 2011


Hi,
I've got a class that inherits from JavaList<T>. It was building ok in the last version of mono for android but now with mono for android 4 it doesn't work.

My class declaration is...
     public partial class NotifyingList<T> : Android.Runtime.JavaList<T>

Any ideas or workarounds?

Is this the same as http://bugzilla.xamarin.com/show_bug.cgi?id=1403   ?

Cheers,
Felix

The build output...

_CreateBaseApk:
   C:\Users\felix.INTRANEL\AppData\Local\Xamarin\MonoForAndroid\AndroidSDK\android-sdk-windows\platform-tools\aapt.exe package -f -M obj\Debug\android\AndroidManifest.xml -J C:\Users\felix.INTRANEL\AppData\Local\Temp\nbnqyyeq.vc4 --custom-package net.monocross.samples.mobilebullet -F obj\Debug\android\bin\packaged_resources.bk -S E:\Work\VLM\source\MobileBullet\Droid.Container\obj\Debug\res -I C:\Users\felix.INTRANEL\AppData\Local\Xamarin\MonoForAndroid\AndroidSDK\android-sdk-windows\platforms\android-4\android.jar -A E:\Work\VLM\source\MobileBullet\Droid.Container\obj\Debug\assets
_CompileJava:
     JavaSourceFiles:
       SplashScreenActivity.java
     JavaLibraries:
     AddOnPlatformLibraries:
   C:\Program Files\Java\jdk1.6.0_27\bin\javac.exe -d obj\Debug\android\bin\classes -classpath "C:\Program Files\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.6\mono.android.jar" -bootclasspath C:\Users\felix.INTRANEL\AppData\Local\Xamarin\MonoForAndroid\AndroidSDK\android-sdk-windows\platforms\android-4\android.jar -encoding UTF-8 "@C:\Users\felix.INTRANEL\AppData\Local\Temp\tmp85A1.tmp"
obj\Debug\android\src\mobilebulletapp\NotifyingList_1.java(5,19): javac error :  no interface expected here [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
obj\Debug\android\src\mobilebulletapp\NotifyingList_1.java(5,19): javac error :     extends java.util.List [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
obj\Debug\android\src\mobilebulletapp\NotifyingList_1.java(5,19): javac error :  [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
SplashScreenActivity.java(27,5): javac error :  method does not override or implement a method from a supertype [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
SplashScreenActivity.java(27,5): javac error :     @Override [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
SplashScreenActivity.java(27,5): javac error :  [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
obj\Debug\android\src\mobilebulletapp\NotifyingList_1.java(17,7): javac error :  cannot find symbol [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
obj\Debug\android\src\mobilebulletapp\NotifyingList_1.java(17,7): javac error : symbol  : method getClass() [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
obj\Debug\android\src\mobilebulletapp\NotifyingList_1.java(17,7): javac error : location: class mobilebulletapp.NotifyingList_1 [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
obj\Debug\android\src\mobilebulletapp\NotifyingList_1.java(17,7): javac error :         if (getClass () == NotifyingList_1.class) [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
obj\Debug\android\src\mobilebulletapp\NotifyingList_1.java(17,7): javac error :  [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
obj\Debug\android\src\mobilebulletapp\NotifyingList_1.java(18,28): javac error :  Activate(java.lang.String,java.lang.String,java.lang.Object,java.lang.Object[]) in mono.android.TypeManager cannot be applied to (java.lang.String,java.lang.String,mobilebulletapp.NotifyingList_1,java.lang.Object[]) [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
obj\Debug\android\src\mobilebulletapp\NotifyingList_1.java(18,28): javac error :             mono.android.TypeManager.Activate ("MobileBulletApp.NotifyingList`1, MobileBullet.PlatformSpecific.MD, Version=1.0.4371.28652, Culture=neutral, PublicKeyToken=null", "", this, new java.lang.Object[] {  }); [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
obj\Debug\android\src\mobilebulletapp\NotifyingList_1.java(18,28): javac error :  [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
obj\Debug\android\src\mobilebulletapp\BulletinBoardList.java(17,7): javac error :  cannot find symbol [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
obj\Debug\android\src\mobilebulletapp\BulletinBoardList.java(17,7): javac error : symbol  : method getClass() [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
obj\Debug\android\src\mobilebulletapp\BulletinBoardList.java(17,7): javac error : location: class mobilebulletapp.BulletinBoardList [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
obj\Debug\android\src\mobilebulletapp\BulletinBoardList.java(17,7): javac error :         if (getClass () == BulletinBoardList.class) [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
obj\Debug\android\src\mobilebulletapp\BulletinBoardList.java(17,7): javac error :  [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
obj\Debug\android\src\mobilebulletapp\BulletinBoardList.java(18,28): error :  Activate(java.lang.String,java.lang.String,java.lang.Object,java.lang.Object[]) in mono.android.TypeManager cannot be applied to (java.lang.String,java.lang.String,mobilebulletapp.BulletinBoardList,java.lang.Object[]) [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
obj\Debug\android\src\mobilebulletapp\BulletinBoardList.java(18,28): error :             mono.android.TypeManager.Activate ("MobileBulletApp.BulletinBoardList, MobileBullet.MD, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", "", this, new java.lang.Object[] {  }); [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
obj\Debug\android\src\mobilebulletapp\BulletinBoardList.java(18,28): error :  [E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj]
   Note: Some input files use unchecked or unsafe operations.
   Note: Recompile with -Xlint:unchecked for details.
   6 errors
Done Building Project "E:\Work\VLM\source\MobileBullet\Droid.Container\Droid.Container.csproj" (SignAndroidPackage target(s)) -- FAILED.



More information about the Monodroid mailing list