環境:
vs 2019 16.2.5(只安裝了跨平臺移動應用開發所需組件)
Microsoft .Net Framework 4.8.03752
win10
除錯Android專案是總是報錯如下:
09-24 11:15:32.353 I/MonoDroid(14395): UNHANDLED EXCEPTION:
09-24 11:15:32.359 I/MonoDroid(14395): Java.Lang.ClassNotFoundException: Didn't find class "md51558244f76c53b6aeda52c8a337f2c37.PowerSaveModeBroadcastReceiver" on path: DexPathList[[zip file "/data/app/com.zhrl.AepApp-1/base.apk"],nativeLibraryDirectories=[/data/app/com.zhrl.AepApp-1/lib/arm64, /data/app/com.zhrl.AepApp-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]
09-24 11:15:32.359 I/MonoDroid(14395): at Java.Interop.JniEnvironment+Types.FindClass (System.String classname) [0x00114] in <212d71eb7ebe48a08a28594a6b73aa4b>:0
09-24 11:15:32.359 I/MonoDroid(14395): at Java.Interop.JniType..ctor (System.String classname) [0x00006] in <212d71eb7ebe48a08a28594a6b73aa4b>:0
09-24 11:15:32.359 I/MonoDroid(14395): at Java.Interop.JniPeerMembers+JniInstanceMethods..ctor (System.Type declaringType) [0x0005b] in <212d71eb7ebe48a08a28594a6b73aa4b>:0
09-24 11:15:32.359 I/MonoDroid(14395): at Java.Interop.JniPeerMembers+JniInstanceMethods.GetConstructorsForType (System.Type declaringType) [0x00031] in <212d71eb7ebe48a08a28594a6b73aa4b>:0
09-24 11:15:32.359 I/MonoDroid(14395): at Java.Interop.JniPeerMembers+JniInstanceMethods.StartCreateInstance (System.String constructorSignature, System.Type declaringType, Java.Interop.JniArgumentValue* parameters) [0x00038] in <212d71eb7ebe48a08a28594a6b73aa4b>:0
09-24 11:15:32.359 I/MonoDroid(14395): at Android.Content.BroadcastReceiver..ctor () [0x00034] in <3324153164274220ab14392825330ba2>:0
09-24 11:15:32.359 I/MonoDroid(14395): at Xamarin.Forms.Platform.Android.PowerSaveModeBroadcastReceiver..ctor () <0x7f635f0830 + 0x00053> in <e6fe81c4055a4db5bd435b7d12d894e3>:0
09-24 11:15:32.359 I/MonoDroid(14395): at Xamarin.Forms.Platform.Android.FormsAppCompatActivity.OnCreate (Android.OS.Bundle savedInstanceState) [0x000b7] in D:\a\1\s\Xamarin.Forms.Platform.Android\AppCompat\FormsAppCompatActivity.cs:191
09-24 11:15:32.360 I/MonoDroid(14395): at AepApp.Droid.MainActivity.OnCreate (Android.OS.Bundle bundle) [0x00076] in C:\Users\Fionaxu\source\repos\UAPP\Droid\MainActivity.cs:35
09-24 11:15:32.360 I/MonoDroid(14395): at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_savedInstanceState) [0x00011] in <3324153164274220ab14392825330ba2>:0
09-24 11:15:32.360 I/MonoDroid(14395): at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.7(intptr,intptr,intptr)
09-24 11:15:32.360 I/MonoDroid(14395): --- End of managed Java.Lang.ClassNotFoundException stack trace ---
09-24 11:15:32.360 I/MonoDroid(14395): java.lang.ClassNotFoundException: Didn't find class "md51558244f76c53b6aeda52c8a337f2c37.PowerSaveModeBroadcastReceiver" on path: DexPathList[[zip file "/data/app/com.zhrl.AepApp-1/base.apk"],nativeLibraryDirectories=[/data/app/com.zhrl.AepApp-1/lib/arm64, /data/app/com.zhrl.AepApp-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]
09-24 11:15:32.360 I/MonoDroid(14395): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
09-24 11:15:32.360 I/MonoDroid(14395): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
09-24 11:15:32.360 I/MonoDroid(14395): at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
09-24 11:15:32.360 I/MonoDroid(14395): at md56b3a53134363332232b5ab6b69c9bac6.MainActivity.n_onCreate(Native Method)
09-24 11:15:32.360 I/MonoDroid(14395): at md56b3a53134363332232b5ab6b69c9bac6.MainActivity.onCreate(MainActivity.java:36)
09-24 11:15:32.360 I/MonoDroid(14395): at android.app.Activity.performCreate(Activity.java:6372)
09-24 11:15:32.360 I/MonoDroid(14395): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110)
09-24 11:15:32.360 I/MonoDroid(14395): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2432)
09-24 11:15:32.360 I/MonoDroid(14395): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2539)
09-24 11:15:32.360 I/MonoDroid(14395): at android.app.ActivityThread.access$900(ActivityThread.java:168)
09-24 11:15:32.360 I/MonoDroid(14395): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1378)
09-24 11:15:32.360 I/MonoDroid(14395): at android.os.Handler.dispatchMessage(Handler.java:102)
09-24 11:15:32.360 I/MonoDroid(14395): at android.os.Looper.loop(Looper.java:150)
09-24 11:15:32.360 I/MonoDroid(14395): at android.app.ActivityThread.main(ActivityThread.java:5659)
09-24 11:15:32.360 I/MonoDroid(14395): at java.lang.reflect.Method.invoke(Native Method)
09-24 11:15:32.360 I/MonoDroid(14395): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:822)
09-24 11:15:32.360 I/MonoDroid(14395): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:712)
09-24 11:15:32.360 I/MonoDroid(14395): Suppressed: java.lang.ClassNotFoundException: md51558244f76c53b6aeda52c8a337f2c37.PowerSaveModeBroadcastReceiver
09-24 11:15:32.360 I/MonoDroid(14395): at java.lang.Class.classForName(Native Method)
09-24 11:15:32.360 I/MonoDroid(14395): at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
09-24 11:15:32.360 I/MonoDroid(14395): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
09-24 11:15:32.360 I/MonoDroid(14395): at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
09-24 11:15:32.360 I/MonoDroid(14395): ... 15 more
09-24 11:15:32.360 I/MonoDroid(14395): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
09-24 11:15:32.368 D/Mono (14395): DllImport searching in: '__Internal' ('(null)').
09-24 11:15:32.368 D/Mono (14395): Searching for 'java_interop_jnienv_throw'.
09-24 11:15:32.368 D/Mono (14395): Probing 'java_interop_jnienv_throw'.
09-24 11:15:32.368 D/Mono (14395): Found as 'java_interop_jnienv_throw'.
MainActivity.cs主要代碼如下:
[assembly: UsesPermission(Android.Manifest.Permission.Flashlight)]
namespace AepApp.Droid
{
[Activity(Label = "xxxx", Icon = "@drawable/icon", Theme = "@style/MyTheme", MainLauncher = true,
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation,
LaunchMode = LaunchMode.SingleTask)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
CrossCurrentActivity.Current.Init(this, bundle);
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
App.ScreenHeight = (int)(Resources.DisplayMetrics.HeightPixels / Resources.DisplayMetrics.Density);
App.ScreenWidth = (int)(Resources.DisplayMetrics.WidthPixels / Resources.DisplayMetrics.Density);
base.OnCreate(bundle);
Xamarin.Essentials.Platform.Init(this, bundle);
Rg.Plugins.Popup.Popup.Init(this, bundle);
Forms.SetFlags("CollectionView_Experimental");
global::Xamarin.Forms.Forms.Init(this, bundle);
OxyPlot.Xamarin.Forms.Platform.Android.PlotViewRenderer.Init();
ZXing.Net.Mobile.Forms.Android.Platform.Init();
//百度地圖配置
//Xamarin.FormsBaiduMaps.Init(null);
InitJPush(this);
StatusBar.Activity = this;//獲取狀態欄高度
LoadApplication(new App());
//監聽網路變化
Connectivity.ConnectivityChanged += (ConnectivityChangedEventArgs e) => {
var access = e.NetworkAccess;
MessagingCenter.Send<Grid, NetworkAccess>(new Grid(), "NetworkChanged", access);
};
//Initializer.Initialize();
}
// Field, property, and method for Picture Picker
public static readonly int PickImageId = 1000;
public TaskCompletionSource<Stream> PickImageTaskCompletionSource { set; get; }
protected override void OnActivityResult(int requestCode, Result resultCode, Intent intent)
{
base.OnActivityResult(requestCode, resultCode, intent);
if (requestCode == PickImageId)
{
if ((resultCode == Result.Ok) && (intent != null))
{
Android.Net.Uri uri = intent.Data;
Stream stream = ContentResolver.OpenInputStream(uri);
// Set the Stream as the completion of the Task
PickImageTaskCompletionSource.SetResult(stream);
}
else
{
PickImageTaskCompletionSource.SetResult(null);
}
}
}
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)
{
Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
global::ZXing.Net.Mobile.Android.PermissionsHandler.OnRequestPermissionsResult(requestCode, permissions, grantResults);
base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
哪位大神遇到過這個問題,PowerSaveModeBroadcastReceiver查找過代碼里并沒有顯示參考這個類,代碼方法數也沒有超限;嘗試了清理快取,真機和模擬器都還是報這個錯。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/16783.html
標籤:Xamarin技術
上一篇:UDP服務器是怎么找到客戶端的?
