android - 在 android 4.4 中运行时应用程序崩溃(NoClassDefFoundError)

标签 android android-fragments android-fragmentactivity dalvik

在 android 4.4 中运行时应用程序崩溃并显示 NoClassDefFoundError。但在 6.0 以下的其他 Android 版本中可以正常工作。我在这里使用 fragment Activity 。错误如下所示。

  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)

最佳答案

创建一个这样的类

class MyApplication extends Application {

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

在 AndroidManifest 中,向应用程序标记添加 name 属性:

<application name=".MyApplication"

关于android - 在 android 4.4 中运行时应用程序崩溃(NoClassDefFoundError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38932122/

相关文章:

android - 我们可以将已准备好的SQLITE数据库用于手机应用程序吗?

android - CoordinatorLayout 中的 FrameLayout 使工具栏背景透明为白色

android - 强制关闭 : I have created a simple app with two fragments where fragemnt A is sendind data/string to Fragment B

android - 如何使用 androidx.navigation 从 fragment 返回数据?

android - FragmentActivity 无法解析为类型

android - 如何在信息窗口中显示相应标记的适当的多个数据

android - 如何创建类似 edittext 布局的 Gmail

android - 使用 ProGuard 优化会承担哪些风险?

android - 何时使用 fragment backstack 与单独的 Activity ?

android - 在弃用 onAttach(Activity activity) 后如何检查 Activity 是否实现了接口(interface)