Java 当我改变屏幕方向时,为什么会出现ClassNotFoundException?
当我旋转设备时,我得到ClassNotFoundException。错误发生在我将admob library com.google.android.gms:play services ads:17.2.0添加到我的项目后。没有这个图书馆,一切都很好 我试图将库版本更改为16.0.0,但不需要应用程序ID,因此未发生错误Java 当我改变屏幕方向时,为什么会出现ClassNotFoundException?,java,android,android-fragments,admob,Java,Android,Android Fragments,Admob,当我旋转设备时,我得到ClassNotFoundException。错误发生在我将admob library com.google.android.gms:play services ads:17.2.0添加到我的项目后。没有这个图书馆,一切都很好 我试图将库版本更改为16.0.0,但不需要应用程序ID,因此未发生错误 2019-04-09 19:32:16.164 12689-12718/com.example.example.myapplication E/packet:解组时找不到类:an
2019-04-09 19:32:16.164 12689-12718/com.example.example.myapplication E/packet:解组时找不到类:android.support.v4.app.FragmentManagerState
java.lang.ClassNotFoundException:android.support.v4.app.FragmentManagerState
位于java.lang.Class.classForName(本机方法)
位于java.lang.Class.forName(Class.java:400)
位于android.os.Parcel.readParcelableCreator(Parcel.java:2564)
位于android.os.Parcel.readParcelable(Parcel.java:2518)
位于android.os.Parcel.readValue(Parcel.java:2421)
在android.os.Parcel.ReadyArrayMapInternal(Parcel.java:2788)
位于android.os.BaseBundle.unparcel(BaseBundle.java:271)
位于android.os.Bundle.getBundle(Bundle.java:817)
在fw.onActivityCreated(:com.google.android.gms.dynamite_measurementdynamite@16089051@16.0.89 (040408-239467275):33)
位于com.google.android.gms.measurement.internal.AppMeasurementDynamiteService.onActivityCreated(:com.google.android.gms.dynamite_measurementdynamite@16089051@16.0.89 (040408-239467275):145)
在cf.a(:com.google.android.gms.dynamite_measurementdynamite@16089051@16.0.89 (040408-239467275):160)
在k.onTransact(:com.google.android.gms.dynamite_measurementdynamite@16089051@16.0.89 (040408-239467275):4)
位于android.os.Binder.transact(Binder.java:499)
位于com.google.android.gms.internal.measurement.zzq.zza(未知来源)
位于com.google.android.gms.internal.measurement.zzdp.onActivityCreated(未知来源)
位于com.google.android.gms.internal.measurement.zzex.zzgd(未知来源)
位于com.google.android.gms.internal.measurement.zzea$zzb.run(未知来源)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
运行(Thread.java:760)
原因:java.lang.ClassNotFoundException:android.support.v4.app.FragmentManagerState
位于java.lang.Class.classForName(本机方法)
位于java.lang.BootClassLoader.findClass(ClassLoader.java:1346)
位于java.lang.BootClassLoader.loadClass(ClassLoader.java:1406)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:312)
位于java.lang.Class.classForName(本机方法)
位于java.lang.Class.forName(Class.java:400)
位于android.os.Parcel.readParcelableCreator(Parcel.java:2564)
位于android.os.Parcel.readParcelable(Parcel.java:2518)
位于android.os.Parcel.readValue(Parcel.java:2421)
在android.os.Parcel.ReadyArrayMapInternal(Parcel.java:2788)
位于android.os.BaseBundle.unparcel(BaseBundle.java:271)
位于android.os.Bundle.getBundle(Bundle.java:817)
在fw.onActivityCreated(:com.google.android.gms.dynamite_measurementdynamite@16089051@16.0.89 (040408-239467275):33)
位于com.google.android.gms.measurement.internal.AppMeasurementDynamiteService.onActivityCreated(:com.google.android.gms.dynamite_measurementdynamite@16089051@16.0.89 (040408-239467275):145)
在cf.a(:com.google.android.gms.dynamite_measurementdynamite@16089051@16.0.89 (040408-239467275):160)
在k.onTransact(:com.google.android.gms.dynamite_measurementdynamite@16089051@16.0.89 (040408-239467275):4)
位于android.os.Binder.transact(Binder.java:499)
位于com.google.android.gms.internal.measurement.zzq.zza(未知来源)
位于com.google.android.gms.internal.measurement.zzdp.onActivityCreated(未知来源)
位于com.google.android.gms.internal.measurement.zzex.zzgd(未知来源)
位于com.google.android.gms.internal.measurement.zzea$zzb.run(未知来源)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
运行(Thread.java:760)
原因:java.lang.NoClassDefFoundError:使用引导类加载程序找不到类;没有可用的堆栈跟踪
我的MainActivity.java是
公共类MainActivity扩展了AppCompatActivity{
最终片段[]片段=新片段[3];
底部导航视图导航视图;
碎片管理器碎片管理器;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MobileAds.initialize(这是“ca-app-pub-3940256099942544~3347517113”);
fragmentManager=getSupportFragmentManager();
Toolbar Toolbar=findviewbyd(R.id.Toolbar);
setTitle(getString(R.string.app_name));
toolbar.setTitleTextColor(Color.WHITE);
工具栏.setNavigationIcon(R.drawable.ic_导航);
导航视图=FindView视图(R.id.nav_视图);
AdView AdView=findViewById(R.id.AdView);
adView.loadAd(新的addRequest.Builder().build());
片段[0]=新的随机片段();
片段[1]=新的FullListFragment();
片段[2]=新的FavoriteFragment();
fragmentManager.beginTransaction().add(R.id.main_container2,fragments[0]).commit();
navView.setOnNavigationItemSelectedListener(新的BottomNavigationView.OnNavigationItemSelectedListener(){
@凌驾
公共布尔值onNavigationItemSelected(@NonNull MenuItem MenuItem){
片段;
开关(menuItem.getItemId()){
案例R.id.navigation\u主页:
片段=片段[0];
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
AdView adView = (AdView)findViewById(R.id.adView);
View contentFrame = findViewById(R.id.contentFrameLayout);
RelativeLayout parent = (RelativeLayout) adView.getParent();
LayoutParams mapFrameParams = contentFrame.getLayoutParams();
LayoutParams adViewParams = adView.getLayoutParams();
parent.removeView(adView);
parent.removeView(contentFrame);
AdView newAdView = new AdView(this, AdSize.SMART_BANNER, getString(R.string.admob_pubId));
newAdView.setId(R.id.adView);
parent.addView(newAdView, adViewParams);
parent.addView(contentFrame,mapFrameParams);
newAdView.loadAd(new AdRequest());
}