简体   繁体   中英

After updating Xamarin.Forms to 2.3.0.49 getting error

After updating Xamarin.Forms to latest version i am getting below error :

at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/2923/52635947/source/mono/external/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 at Java.Interop.JniEnvironment+InstanceMethods.CallNonvirtualVoidMethod (JniObjectReference instance, JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x000a7] in /Users/builder/data/lanes/3340/4e275588/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.g.cs:12083 at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00068] in /Users/builder/data/lanes/3340/4e275588/source/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:31 at Android.Widget.ImageView.SetScaleType (Android.Widget.ScaleType scaleType) [0x0002c] in /Users/builder/data/lanes/3340/4e2 75588/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Widget.ImageView.cs:1300 at Xamarin.Forms.Platform.Android.ImageRenderer.UpdateAspect () [0x00011] in C:\\BuildAgent2\\work\\aad494dc9bc9783\\Xamarin.Forms.Platform.Android\\Renderers\\ImageRenderer.cs:56 at Xamarin.Forms.Platform.Android.ImageRenderer.OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs 1 e) [0x0002e] in C:\\BuildAgent2\\work\\aad494dc9bc9783\\Xamarin.Forms.Platform.Android\\Renderers\\ImageRenderer.cs:40 at EForms.Droid.Controls.EImageRenderer.OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs 1 e) [0x00002] in E:\\Project\\BBQMVP\\BBQ\\Mobile\\Lib\\EForms\\EForms.Droid\\Src\\Renderers\\Controls\\EImageRenderer.cs:24 --- End of managed exception stack trace --- java.lang.NullPointerException at android.widget.ImageView.setScaleType(ImageView.java:549) at mono.java.lang.RunnableImplementor.n_run(Native Method) at mono.java.lang.RunnableImplementor.run(RunnableImplemen tor.java:30) at android.os.Handler.handleCallback(Handler.java:730) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:176) at android.app.ActivityThread.main(ActivityThread.java:5419) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862) at dalvik.system.NativeStart.main(Native Method)

Can anyone suggest that is this the xamarin.forms issue or some android configuration issue after updating xamarin.forms ?

In ImageView source code

public void setScaleType(ScaleType scaleType) {
     if (scaleType == null) {
         throw new NullPointerException();
     }

     if (mScaleType != scaleType) {
        mScaleType = scaleType;

         setWillNotCacheDrawing(mScaleType == ScaleType.CENTER);            

         requestLayout();
         invalidate();
    }

}

And in ImageRenderer

void UpdateAspect()
        {
            AImageView.ScaleType type = Element.Aspect.ToScaleType();
            Control.SetScaleType(type);
        }

So, it looks like your Xamarin.Forms.Image's Aspect is set to null accidently?

Xamarin forms, will not always be compatible with the latest version of the Android support libraries. If the android support libraries installed are not compatible to the install Xamarin Forms version, the solution wont compile.

To address the above issue, right click you solution and open nuget package manager. Go to the installed tabs and remove Xamarin forms and then remove all the android support libraries one by one.

Once both Xamarin Forms and all android support libs are uninstalled, Install a stable version of Xamarin Forms. This will in turn install the compatible set of Android support libraries.

If the solution doesnt compile still, then try these : 1) Make sure you have latest JDK installed and the VS points to it correctly 2) Go to C:\\Users[UserName]\\appdata\\local, and delete the Xamarin folder 3) Open solution in VS, clean it and rebuild. It will take sometime to rebuild, wait and check it later.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM