Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我改变屏幕方向时,为什么会出现ClassNotFoundException?_Java_Android_Android Fragments_Admob - Fatal编程技术网

Java 当我改变屏幕方向时,为什么会出现ClassNotFoundException?

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

当我旋转设备时,我得到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:解组时找不到类: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());
}