title: App is crashing at launch
body: <p>Following is the MainActivity of a simple SQLite example. The app is crashing at launch. Following is the error(in bold):</p>
  
  <pre><code>11-10 10:40:41.243 1773-1773/? I/art: Late-enabling -Xcheck:jni
  11-10 10:40:41.286 1773-1773/com.mytestfyp.ahmed.database V/Theme: ColorMode:com.mytestfyp.ahmed.database is false
  11-10 10:40:41.328 1773-1773/com.mytestfyp.ahmed.database W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=generic --instruction-set-features=default --dex-file=/data/app/com.mytestfyp.ahmed.database-1/split_lib_dependencies_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.mytestfyp.ahmed.database-1@split_lib_dependencies_apk.apk@classes.dex) because non-0 exit status
  11-10 10:40:41.473 1773-1773/com.mytestfyp.ahmed.database W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=generic --instruction-set-features=default --dex-file=/data/app/com.mytestfyp.ahmed.database-1/split_lib_slice_0_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.mytestfyp.ahmed.database-1@split_lib_slice_0_apk.apk@classes.dex) because non-0 exit status
  11-10 10:40:41.513 1773-1773/com.mytestfyp.ahmed.database W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=generic --instruction-set-features=default --dex-file=/data/app/com.mytestfyp.ahmed.database-1/split_lib_slice_1_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.mytestfyp.ahmed.database-1@split_lib_slice_1_apk.apk@classes.dex) because non-0 exit status
  11-10 10:40:41.553 1773-1773/com.mytestfyp.ahmed.database W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=generic --instruction-set-features=default --dex-file=/data/app/com.mytestfyp.ahmed.database-1/split_lib_slice_2_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.mytestfyp.ahmed.database-1@split_lib_slice_2_apk.apk@classes.dex) because non-0 exit status
  11-10 10:40:41.593 1773-1773/com.mytestfyp.ahmed.database W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=generic --instruction-set-features=default --dex-file=/data/app/com.mytestfyp.ahmed.database-1/split_lib_slice_3_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.mytestfyp.ahmed.database-1@split_lib_slice_3_apk.apk@classes.dex) because non-0 exit status
  11-10 10:40:41.631 1773-1773/com.mytestfyp.ahmed.database W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=generic --instruction-set-features=default --dex-file=/data/app/com.mytestfyp.ahmed.database-1/split_lib_slice_4_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.mytestfyp.ahmed.database-1@split_lib_slice_4_apk.apk@classes.dex) because non-0 exit status
  11-10 10:40:41.669 1773-1773/com.mytestfyp.ahmed.database W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=generic --instruction-set-features=default --dex-file=/data/app/com.mytestfyp.ahmed.database-1/split_lib_slice_5_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.mytestfyp.ahmed.database-1@split_lib_slice_5_apk.apk@classes.dex) because non-0 exit status
  11-10 10:40:41.706 1773-1773/com.mytestfyp.ahmed.database W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=generic --instruction-set-features=default --dex-file=/data/app/com.mytestfyp.ahmed.database-1/split_lib_slice_6_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.mytestfyp.ahmed.database-1@split_lib_slice_6_apk.apk@classes.dex) because non-0 exit status
  11-10 10:40:41.747 1773-1773/com.mytestfyp.ahmed.database W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=generic --instruction-set-features=default --dex-file=/data/app/com.mytestfyp.ahmed.database-1/split_lib_slice_7_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.mytestfyp.ahmed.database-1@split_lib_slice_7_apk.apk@classes.dex) because non-0 exit status
  11-10 10:40:41.788 1773-1773/com.mytestfyp.ahmed.database W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=generic --instruction-set-features=default --dex-file=/data/app/com.mytestfyp.ahmed.database-1/split_lib_slice_8_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.mytestfyp.ahmed.database-1@split_lib_slice_8_apk.apk@classes.dex) because non-0 exit status
  11-10 10:40:41.836 1773-1773/com.mytestfyp.ahmed.database W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=generic --instruction-set-features=default --dex-file=/data/app/com.mytestfyp.ahmed.database-1/split_lib_slice_9_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.mytestfyp.ahmed.database-1@split_lib_slice_9_apk.apk@classes.dex) because non-0 exit status
  11-10 10:40:41.837 1773-1773/com.mytestfyp.ahmed.database W/System: ClassLoader referenced unknown path: /data/app/com.mytestfyp.ahmed.database-1/lib/arm64
  11-10 10:40:41.840 1773-1773/com.mytestfyp.ahmed.database I/InstantRun: starting instant run server: is main process
  11-10 10:40:41.843 1773-1773/com.mytestfyp.ahmed.database I/Instrumentation: android.app.Application@103d181 onCreate begin
  11-10 10:40:41.843 1773-1773/com.mytestfyp.ahmed.database I/Instrumentation: android.app.Application@103d181 onCreate in 0ms
  11-10 10:40:41.900 1773-1773/com.mytestfyp.ahmed.database W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
  11-10 10:40:42.003 1773-1773/com.mytestfyp.ahmed.database D/AndroidRuntime: Shutting down VM
  11-10 10:40:42.003 1773-1773/com.mytestfyp.ahmed.database E/AndroidRuntime: FATAL EXCEPTION: main
                                                                              Process: com.mytestfyp.ahmed.database, PID: 1773
                                                                              java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mytestfyp.ahmed.database/com.mytestfyp.ahmed.database.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.LinearLayout.setOnLongClickListener(android.view.View$OnLongClickListener)' on a null object reference
                                                                                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2452)
                                                                                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2535)
                                                                                  at android.app.ActivityThread.access$900(ActivityThread.java:155)
                                                                                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1380)
                                                                                  at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                  at android.os.Looper.loop(Looper.java:152)
                                                                                  at android.app.ActivityThread.main(ActivityThread.java:5497)
                                                                                  at java.lang.reflect.Method.invoke(Native Method)
                                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                                               Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.LinearLayout.setOnLongClickListener(android.view.View$OnLongClickListener)' on a null object reference
                                                                                  **at com.mytestfyp.ahmed.database.MainActivity.displayAllRecords(MainActivity.java:143)
                                                                                  at com.mytestfyp.ahmed.database.MainActivity.onCreate(MainActivity.java:45)**
                                                                                  at android.app.Activity.performCreate(Activity.java:6289)
                                                                                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
                                                                                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2405)
                                                                                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2535) 
                                                                                  at android.app.ActivityThread.access$900(ActivityThread.java:155) 
                                                                                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1380) 
                                                                                  at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                  at android.os.Looper.loop(Looper.java:152) 
                                                                                  at android.app.ActivityThread.main(ActivityThread.java:5497) 
                                                                                  at java.lang.reflect.Method.invoke(Native Method) 
                                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
  11-10 10:40:42.005 1773-1773/com.mytestfyp.ahmed.database D/AppTracker: App Event: crash
  11-10 10:40:44.108 1773-1773/com.mytestfyp.ahmed.database I/Process: Sending signal. PID: 1773 SIG: 9
  </code></pre>
  
  <p>Following is the code for the MainActivity:</p>
  
  <pre><code>package com.mytestfyp.ahmed.database;
  
  import android.app.AlertDialog;
  import android.content.DialogInterface;
  import android.content.Intent;
  import android.support.v7.app.AppCompatActivity;
  import android.os.Bundle;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.widget.Button;
  import android.widget.LinearLayout;
  import android.widget.TextView;
  import java.util.ArrayList;
  import java.util.HashMap;
  
  public class MainActivity extends AppCompatActivity
  {
      Button btnAddNewRecord;
      SQLiteHelper sQLiteHelper;
  
      android.widget.LinearLayout parentLayout;
      LinearLayout layoutDisplayPeople;
  
      TextView tvNoRecordsFound;
      private String rowID = null;
  
      private ArrayList&lt;HashMap&lt;String, String&gt;&gt; tableData = new ArrayList&lt;HashMap&lt;String, String&gt;&gt;();
  
      private class Holder
      {
          TextView tvFullName;
          String name;
          String age;
      }
  
      @Override
      protected void onCreate(Bundle savedInstanceState)
      {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
  
          getAllWidgets();
          sQLiteHelper = new SQLiteHelper(MainActivity.this);
          bindWidgetsWithEvent();
          displayAllRecords();
      }
  
      @Override
      public void onActivityResult(int requestCode, int resultCode, Intent data)
      {
          super.onActivityResult(requestCode, resultCode, data);
          if (resultCode == RESULT_OK)
          {
              //firstname &amp; lastname
              String name = data.getStringExtra(Constants.NAME);
              String age = data.getStringExtra(Constants.AGE);
  
              ContactModel contact = new ContactModel();
              contact.setName(name);
              contact.setAge(age);
  
              if (requestCode == Constants.ADD_RECORD)
              {
                  sQLiteHelper.insertRecord(contact);
              }
  
              else if (requestCode == Constants.UPDATE_RECORD)
              {
                  contact.setID(rowID);
                  sQLiteHelper.updateRecord(contact);
              }
  
              displayAllRecords();
  
          }
      }
  
      private void getAllWidgets()
      {
          btnAddNewRecord = (Button) findViewById(R.id.btnAddNewRecord);
          parentLayout = (LinearLayout) findViewById(R.id.parentLayout);
          tvNoRecordsFound = (TextView) findViewById(R.id.tvNoRecordsFound);
      }
  
      private void bindWidgetsWithEvent()
      {
          btnAddNewRecord.setOnClickListener(new View.OnClickListener()
          {
              @Override
              public void onClick(View v)
              {
                  onAddRecord();
              }
          });
      }
  
      private void onAddRecord()
      {
          Intent intent = new Intent(MainActivity.this, TableManipulationActivity.class);
          intent.putExtra(Constants.DML_TYPE, Constants.ADD_RECORD);
          startActivityForResult(intent, Constants.ADD_RECORD);
      }
  
      private void onUpdateRecord(String name, String age)
      {
          Intent intent = new Intent(MainActivity.this, TableManipulationActivity.class);
          intent.putExtra(Constants.NAME, name);
          intent.putExtra(Constants.AGE, age);
          intent.putExtra(Constants.DML_TYPE, Constants.UPDATE);
          startActivityForResult(intent, Constants.UPDATE_RECORD);
      }
  
      private void displayAllRecords()
      {
          LinearLayout inflateParentView;
          parentLayout.removeAllViews();
  
          ArrayList&lt;ContactModel&gt; contacts = sQLiteHelper.getAllRecords();
  
          if (contacts.size() &gt; 0)
          {
              tvNoRecordsFound.setVisibility(View.GONE);
              ContactModel contactModel;
  
              for (int i = 0; i &lt; contacts.size(); i++)
              {
                  contactModel = contacts.get(i);
  
                  final Holder holder = new Holder();
                  final View view = LayoutInflater.from(this).inflate(R.layout.inflate_record, null);
                  inflateParentView = (LinearLayout) findViewById(R.id.inflateParentView);
                  holder.tvFullName = (TextView) view.findViewById(R.id.tvFullName);
  
                  view.setTag(contactModel.getID());
                  holder.name = contactModel.getName();
                  holder.age = contactModel.getAge();
  
                  String personData = holder.name + " " +holder.age;
                  holder.tvFullName.setText(personData);
  
                  final CharSequence[] items = {Constants.UPDATE, Constants.DELETE};
  
                  inflateParentView.setOnLongClickListener(new View.OnLongClickListener()
                  {
                      @Override
                      public boolean onLongClick(View v)
                      {
                          AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                          builder.setItems(items, new DialogInterface.OnClickListener()
                          {
                              @Override
                              public void onClick(DialogInterface dialog, int which)
                              {
                                  if (which == 0)
                                  {
                                      rowID = view.getTag().toString();
                                      onUpdateRecord(holder.name, holder.age);
                                  }
  
                                  else
                                  {
                                      AlertDialog.Builder deleteDialogOK = new AlertDialog.Builder(MainActivity.this);
                                      deleteDialogOK.setTitle("Delete Person ?");
  
                                      deleteDialogOK.setPositiveButton("OK", new DialogInterface.OnClickListener()
                                      {
                                          @Override
                                          public void onClick(DialogInterface dialog, int which)
                                          {
                                              ContactModel contact = new ContactModel();
                                              contact.setID(view.getTag().toString());
                                              sQLiteHelper.deleteRecord(contact);
                                              displayAllRecords();
                                          }
                                      });
                                      deleteDialogOK.setNegativeButton("Cancel", new DialogInterface.OnClickListener()
                                      {
                                          @Override
                                          public void onClick(DialogInterface dialog, int which)
                                          {
  
                                          }
                                      });
                                      deleteDialogOK.show();
                                  }
                              }
                          });
                          AlertDialog alertDialog = builder.create();
                          alertDialog.show();
                          return true;
                      }
                  });
                  parentLayout.addView(view);
              }
          }
  
          else
          {
              tvNoRecordsFound.setVisibility(View.VISIBLE);
          }
      }
  }
  </code></pre>
  
  <p>Following are the related XMLs:</p>
  
  <p>activitymain.xml:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:orientation="vertical"
      android:paddingBottom="@dimen/activity_vertical_margin"
      android:paddingLeft="@dimen/activity_horizontal_margin"
      android:paddingRight="@dimen/activity_horizontal_margin"
      android:paddingTop="@dimen/activity_vertical_margin"
      tools:context=".MainActivity"&gt;
  
      &lt;ScrollView
          android:id="@+id/scrollViewDisplay"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_weight="1"&gt;
  
          &lt;LinearLayout
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:orientation="vertical"&gt;
  
              &lt;LinearLayout
                  android:id="@+id/layoutDisplayPeople"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:orientation="vertical"&gt;
  
                  &lt;TextView
                      android:layout_width="match_parent"
                      android:layout_height="wrap_content"
                      android:gravity="center"
                      android:text="@string/people"
                      android:textColor="@color/color_black"
                      android:textSize="25sp"
                      android:textStyle="bold" /&gt;
  
                  &lt;TextView
                      android:id="@+id/tvNoRecordsFound"
                      android:layout_width="match_parent"
                      android:layout_height="wrap_content"
                      android:layout_marginBottom="15dp"
                      android:layout_marginTop="15dp"
                      android:gravity="center"
                      android:text="@string/nrf"
                      android:textColor="@color/color_black"
                      android:textSize="15sp" /&gt;
  
                  &lt;LinearLayout
                      android:id="@+id/parentLayout"
                      android:layout_width="match_parent"
                      android:layout_height="match_parent"
                      android:orientation="vertical"/&gt;
  
              &lt;/LinearLayout&gt;
  
          &lt;/LinearLayout&gt;
  
      &lt;/ScrollView&gt;
  
      &lt;Button
          android:id="@+id/btnAddNewRecord"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:background="@color/color_blue"
          android:text="@string/add"
          android:textColor="@color/color_white"
          android:textStyle="bold" /&gt;
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>inflate_record.xml:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:orientation="vertical"
      android:gravity="center_horizontal"&gt;
  
      &lt;LinearLayout
          android:id="@+id/inflateParentView"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:gravity="center"&gt;
  
          &lt;TextView
              android:id="@+id/tvFullName"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_marginBottom="15dp"
              android:layout_marginTop="15dp"
              android:layout_marginStart="15dp"
              android:layout_weight="1"
              android:text="@string/name"
              android:textSize="15sp"
              android:gravity="start"
              android:textColor="@color/color_black"
              android:textStyle="bold" /&gt;
      &lt;/LinearLayout&gt;
  
      &lt;LinearLayout
          android:layout_width="match_parent"
          android:layout_height="2dp"
          android:background="@color/color_grey"/&gt;
  
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>Kindly help me out. Thank you in advance!</p>