Need help on creating new session after every testcase

package com.wadhwani.common;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Date;
import java.util.Properties;
import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.TimeUnit;

import org.apache.commons.exec.CommandLine;
import org.apache.commons.exec.DefaultExecuteResultHandler;
import org.apache.commons.exec.DefaultExecutor;
import org.apache.log4j.Logger;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.*;

import com.wadhwani.pages.Loginpage;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.*;

public class AppUtil{
private static Process process;
public static AndroidDriver driver;
public static Properties config = null;
public static Logger log = Logger.getLogger(“deployingLogger”);
static TimerTask task=new TimerTask(){

	@Override public void run(){
		InputStream inStream=null;OutputStream outStream=null;

		try{
			String workingDir = System.getProperty("user.dir");
			File afile=new File("/tmp/appium.log");
			File bfile=new File(workingDir+"/Resources/logs/Appium.log");
			inStream=new FileInputStream(afile);outStream=new FileOutputStream(bfile);

			byte[]buffer=new byte[1024];

			int length;
			while((length=inStream.read(buffer))>0){

				outStream.write(buffer,0,length);

			}

			inStream.close();

			outStream.close();

		}catch(IOException e){e.printStackTrace();}}};

		@BeforeSuite
		public void AppUtil()

		{


			try{


				config = new Properties();
				FileInputStream fs;

				fs = new FileInputStream(System.getProperty("user.dir")+"//src//test//java//com//wadhwani//common//Config.properties");
				config.load(fs);


			}
			catch(Exception e) {
				e.printStackTrace();

			}
		}

	
		@BeforeMethod
		public static void setUpAndroid() throws Exception {
			if (config.getProperty("appTest").equals("Device"))
			{

				log.debug("Loding the Android device capabalities");
				String workingDir = System.getProperty("user.dir");
				File app = new File(workingDir+config.getProperty("buildpathD"));
				System.out.println(app);
				DesiredCapabilities capabilities = new DesiredCapabilities();
				capabilities.setCapability("automationName", config.getProperty("automationName"));
				capabilities.setCapability("device",config.getProperty("device"));
				capabilities.setCapability("deviceName", config.getProperty("deviceName"));
				capabilities.setCapability("platformVersion", config.getProperty("platformVersion"));
				capabilities.setCapability("platformName", config.getProperty("platformName"));
				capabilities.setCapability("app", app.getAbsolutePath());
				capabilities.setCapability("activityname",config.getProperty(""));
				driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),
						capabilities);
				driver.manage().timeouts().implicitlyWait(80, TimeUnit.SECONDS);

			}
			else if(config.getProperty("appTest").equals("Emulator"))
			{
				String workingDir = System.getProperty("user.dir");
				System.out.println(workingDir);

				File app = new File(workingDir+config.getProperty("buildpathE"));
				DesiredCapabilities capabilities = new DesiredCapabilities();
				capabilities.setCapability("automationName", config.getProperty("automationNameE"));
				capabilities.setCapability("device",config.getProperty("deviceE"));
				capabilities.setCapability("deviceName",config.getProperty("deviceNameE"));
				capabilities.setCapability("platformVersion", config.getProperty("platformVersionE"));
				capabilities.setCapability("platformName", config.getProperty("platformNameE"));
				capabilities.setCapability("app", app.getAbsolutePath());
				driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),
						capabilities);
				driver.manage().timeouts().implicitlyWait(80, TimeUnit.SECONDS);

			}

		}


		@AfterMethod
		public void teardown() throws IOException, InterruptedException {

			driver.closeApp();
		driver.quit();


		}

}

ERROR:Session ID is null. Using WebDriver after calling quit()?
This is my base class file, but i want to start the new session after every method. could u please help me on this

remove closeApp and try again. it is just not needed.