【问题标题】:Application is Crashing when running starts in android 4.4 ( NoClassDefFoundError )在 android 4.4 ( NoClassDefFoundError ) 中运行时应用程序崩溃
【发布时间】:2016-08-16 19:16:05
【问题描述】:

应用程序在 android 4.4 中启动并显示 NoClassDefFoundError 时崩溃。但在最高 6.0 的其他 android 版本中正常工作。我在这里使用片段活动。错误如下图。

  public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.activity_main);
        if (savedInstanceState == null) {
            FragmentManager fragmentManager = getFragmentManager();
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            LoginPatternFragment loginFragement = new LoginPatternFragment();
            fragmentTransaction.add(R.id.fragement, loginFragement);
            fragmentTransaction.commit();
        }
    }

错误:

 E/memtrack: Couldn't load memtrack module (No such file or directory)
    E/android.os.Debug: failed to load memtrack module: -2
    E/dalvikvm: Could not find class 'com.quicknip.restaurant3.Fragment.LoginPatternFragment$13', referenced from method com.quicknip.restaurant3.Fragment.LoginPatternFragment.loginService
    E/dalvikvm: Could not find class 'com.quicknip.restaurant3.Fragment.LoginPatternFragment$1', referenced from method com.quicknip.restaurant3.Fragment.LoginPatternFragment.onCreateView
    E/GMPM: Task exception on worker thread: java.lang.NoClassDefFoundError: com.google.android.gms.R$string: com.google.android.gms.measurement.zza.<init>(Unknown Source)
    E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.quicknip.restaurant3, PID: 2733
    java.lang.NoClassDefFoundError: com.quicknip.restaurant3.Fragment.LoginPatternFragment$1
    at com.quicknip.restaurant3.Fragment.LoginPatternFragment.onCreateView(LoginPatternFragment.java:59)

【问题讨论】:

    标签: android android-fragments android-fragmentactivity dalvik


    【解决方案1】:

    创建一个这样的类

    class MyApplication extends Application {
    
    @Override
    protected void attachBaseContext(Context base) {
      super.attachBaseContext(base);
      MultiDex.install(this);
    }
    }
    

    在您的 AndroidManifest 中,将 name 属性添加到您的应用程序标签中:

    <application name=".MyApplication"
    

    【讨论】:

    • 我正在使用 Fragment 活动,如何在 Manifest 中添加 Fragment 活动?
    • Manifest android中不需要添加Fragments
    • 我在清单中添加了我的第一个活动。我的第一个活动将启动片段活动。片段活动中的问题。
    • 不,你不能像那样添加它,检查这个链接它会帮助你stackoverflow.com/a/22557924/5456493
    • 查看我上面更新的帖子。这就是我在第一次活动中所做的
    【解决方案2】:

    我终于找到了答案。

    通过替换

    compile 'com.google.android.gms:play-services:8.4.0'
    

    compile 'com.google.android.gms:play-services-analytics:8.4.0'
    compile 'com.google.android.gms:play-services-gcm:8.4.0'
    compile 'com.google.android.gms:play-services-location:8.4.0'
    compile 'com.google.android.gms:play-services-plus:8.4.0'
    

    这对我有用。

    【讨论】:

      猜你喜欢
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-26
      • 1970-01-01
      • 2015-10-29
      • 2014-11-03
      相关资源
      最近更新 更多