Not able to initialise pageobject class , it throws NoSuchMethodError

java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;J)V
at io.appium.java_client.pagefactory.TimeOutDuration.setTime(TimeOutDuration.java:54)
at io.appium.java_client.pagefactory.TimeOutDuration.setTime(TimeOutDuration.java:59)
at io.appium.java_client.pagefactory.TimeOutDuration.(TimeOutDuration.java:37)
at io.appium.java_client.pagefactory.AppiumFieldDecorator.(AppiumFieldDecorator.java:80)
at io.appium.java_client.pagefactory.AppiumFieldDecorator.(AppiumFieldDecorator.java:149)
at in.pageObjects.LoginPage.(LoginPage.java:27)
at in.scripts.Reports.CreateReport.createReport(CreateReport.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:108)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:661)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:869)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1193)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:126)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:744)
at org.testng.TestRunner.run(TestRunner.java:602)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:380)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:375)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)
at org.testng.SuiteRunner.run(SuiteRunner.java:289)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1301)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1226)
at org.testng.TestNG.runSuites(TestNG.java:1144)
at org.testng.TestNG.run(TestNG.java:1115)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:230)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:76)

Loginpage code=

public class LoginPage {
@AndroidFindBy(id=“com.happay.android.v2:id/edit_email_phone”)
private WebElement number;
@AndroidFindBy(id=“com.happay.android.v2:id/edit_password”)
private WebElement password;
@AndroidFindBy(id=“com.happay.android.v2:id/email_sign_in_button”)
private WebElement next;
private PageFactory pagefactory;
@SuppressWarnings(“static-access”)
public LoginPage(@SuppressWarnings(“rawtypes”) AppiumDriver driver)
{

pagefactory.initElements(new AppiumFieldDecorator(driver), this);

}
public void login(String username, String pwd, AppiumDriver driver) throws InterruptedException
{
CommonUtils common= new CommonUtils();
number.sendKeys(username);
common.threadWait(driver, 2000);
next.click();
common.threadWait(driver, 2000);
password.sendKeys(pwd);
next.click();

You’re timing out waiting for AppiumFieldDecorator, but you didn’t include that code

Included waiting code

ublic LoginPage(@SuppressWarnings(“rawtypes”) AppiumDriver driver)
{

pagefactory.initElements(new AppiumFieldDecorator(driver,80, TimeUnit.SECONDS), this);

}

But still getting the same error

So, pagefactory.initElements is failing. Keep digging further down.