Null pointer Exception-Android Driver intialization -POM - 1.7.2

Hi Guys,

Config:
Appium client :1.7.2
junit -4.12
selenium-server -3.9.1
java-client - 5.0.4
test ng- 6.14.2
dependencies -maven

Getting a null pointer exception, while initializing android driver using POM,app is launching but at login screen it throws exception could anyone suggest a solution for it.thanks again

BaseSetup

@BeforeClass
public class BaseSetup {

public AndroidDriver driver =null;
public static String sRootDir = null;
public static String sPropFile = null;

		DesiredCapabilities caps = new DesiredCapabilities();
	capabilities.setCapability("deviceName", "Moto E");
	capabilities.setCapability("platformName", "Android");
	capabilities.setCapability("platformVersion", "6.0");
	capabilities.setCapability("appPackage", "com.android.vending");
	capabilities.setCapability("appActivity", "com.google.android.finsky.activities.MainActivity");
	capabilities.setCapability("noReset", "true");
      URL url = new URL(GenericLib.toReadProperty(sPropFile,"URL"));
    driver = new AndroidDriver(url,capabilities);
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
   }

}

LoginPage

public class LoginPage extends BaseSetup {

LoginPageObjects LoginPage;

String userName ="";
String passWord = "";

public LoginPage()
{
	super();
	LoginPage = new LoginPageObjects();
	PageFactory.initElements(driver, LoginPage);
}

public boolean validateLoginPage()
{
	boolean elements = false;
	if(LoginPage.emailFld.isDisplayed()){
		if(LoginPage.passwordFld.isDisplayed()){
			if(LoginPage.forgotPwdLink.isDisplayed()){
				if(LoginPage.loginBtn.isDisplayed()){
				if(LoginPage.facebookBtn.isDisplayed()){
					if(LoginPage.googlePlusBtn.isDisplayed()){
						if(LoginPage.signUpLink.isDisplayed()){
							elements =true;
						}
					}		
				}
			}
			
			else
			{
				elements =false;
			}	
		}
	
	}

}
return elements;
}

	public boolean validatewithoutCredentialsLogin()
	{
		boolean loginstatus=false;
		LoginPage.loginBtn.click();
		if(LoginPage.toString().equalsIgnoreCase("Please enter Email ID/Mobile"))
		{
			loginstatus =true;
	}
	    LoginPage.loginBtn.sendKeys(userName);
	    LoginPage.loginBtn.click();
	    if(LoginPage.toString().equalsIgnoreCase("Please enter password"))
	    {
	    	loginstatus = true;
	    }
		return loginstatus;
		
	}

public class LoginPageObjects
{
@CacheLookup
@FindBy(id=“com.app:id/etEmail”)
public WebElement emailFld;

@FindBy(id="com.app:id/etPassword")
public WebElement passwordFld;

@FindBy(id="com.app:id/tvForgotPassword")
public WebElement forgotPwdLink;

@FindBy(id="com.app:id/tvLogin")
public WebElement loginBtn;


@FindBy(id="com.app:id/rlFacebook")
public WebElement facebookBtn;

@FindBy(id="com.app:id/rlGplus")
public WebElement googlePlusBtn;

@FindBy(id="com.app:id/tvSign")
public WebElement signUpLink;



public void emailClick()
{
	LoginPage.emailFld.sendKeys("[email protected]");
}

public void psswdClick()
{
	LoginPage.passwordFld.sendKeys("bengaluru");
}
 
}

}

LoginTest

public class LoginTest extends LoginPage {

@Test(priority =1)

public void enterFields()
{
	LoginPageObjects lbtn = new LoginPageObjects();
	lbtn.emailClick();
	lbtn.psswdClick();
}

@Test(priority =2)

public void testLogin()
{
	LoginPage loginPage = new LoginPage();
	if(loginPage.validateLoginPage()== true)
	{
		loginPage.validatewithoutCredentialsLogin();
		System.out.println("validation Successfull");
	}
	else
	{
		System.out.println("validation UnSuccessfull");
	
	}	
}

}

ERROR LOGS:

FAILED: enterFields
java.lang.NullPointerException
at org.openqa.selenium.support.pagefactory.DefaultElementLocator.findElement(DefaultElementLocator.java:69)
at org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler.invoke(LocatingElementHandler.java:38)
at com.sun.proxy.$Proxy9.sendKeys(Unknown Source)
at com.sample.pages.LoginPage$LoginPageObjects.emailClick(LoginPage.java:119)
at com.sample.scripts.LoginTest.enterFields(LoginTest.java:15)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:580)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:716)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:988)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:648)
at org.testng.TestRunner.run(TestRunner.java:505)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
at org.testng.SuiteRunner.run(SuiteRunner.java:364)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

FAILED: testLogin
java.lang.NullPointerException
at org.openqa.selenium.support.pagefactory.DefaultElementLocator.findElement(DefaultElementLocator.java:69)
at org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler.invoke(LocatingElementHandler.java:38)
at com.sun.proxy.$Proxy9.isDisplayed(Unknown Source)
at com.sample.pages.LoginPage.validateLoginPage(LoginPage.java:41)
at com.sample.scripts.LoginTest.testLogin(LoginTest.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:580)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:716)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:988)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:648)
at org.testng.TestRunner.run(TestRunner.java:505)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
at org.testng.SuiteRunner.run(SuiteRunner.java:364)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

===============================================
Default test
Tests run: 2, Failures: 2, Skips: 0

===============================================
Default suite
Total tests run: 2, Failures: 2, Skips: 0