Error: Bad app,cannot find the apk path

    @Before
    public void setUp() throws Exception {
        // set up appiup
        File classpathRoot = new File(System.getProperty("user.dir"));
        File appDir = new File(classpathRoot, "scr/main/java/apps/ContactManager");
        File app = new File(appDir, "ContactManager.apk");
        //File appDir = new File("D:/new project/Appium_test20170303/demotest/scr/main/java/apps");
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName","TEST");
        capabilities.setCapability("platformVersion", "4.4.2");
        capabilities.setCapability("app", app.getAbsolutePath());
        capabilities.setCapability("appPackage", "com.example.android.contactmanager");
        capabilities.setCapability("appActivity", ".ContactManager");
        driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    }
Launching Appium server with command: D:\appium\Appium\node.exe lib\server\main.js --address 127.0.0.1 --port 4723 --platform-name Android --platform-version 21 --automation-name Appium --log-no-color
info: Welcome to Appium v1.4.16 (REV ae6877eff263066b26328d457bd285c0cc62430d)
info: Appium REST http interface listener started on 127.0.0.1:4723
info: [debug] Non-default server args: {"address":"127.0.0.1","logNoColors":true,"platformName":"Android","platformVersion":"21","automationName":"Appium"}
info: Console LogLevel: debug
info: --> POST /wd/hub/session {"capabilities":{"desiredCapabilities":{"app":"D:\new project\Appium_test20170303\scr\main\java\apps\ContactManager\ContactManager.apk","appPackage":"com.example.android.contactmanager","appActivity":".ContactManager","platformName":"Android","deviceName":"TEST","platformVersion":"4.4.2"},"requiredCapabilities":{}},"desiredCapabilities":{"app":"D:\new project\Appium_test20170303\scr\main\java\apps\ContactManager\ContactManager.apk","appPackage":"com.example.android.contactmanager","appActivity":".ContactManager","platformName":"Android","deviceName":"TEST","platformVersion":"4.4.2"},"requiredCapabilities":{}}
info: Client User-Agent string: Apache-HttpClient/4.5.2 (Java/1.8.0_112-release)
info: [debug] Using local app from desired caps: D:\new project\Appium_test20170303\scr\main\java\apps\ContactManager\ContactManager.apk
info: [debug] Got configuration error, not starting session
info: [debug] Cleaning up appium session
error: Failed to start an Appium session, err was: Error: Bad app: D:\new project\Appium_test20170303\scr\main\java\apps\ContactManager\ContactManager.apk. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name. cause: Error: Error locating the app: ENOENT, stat 'D:\new project\Appium_test20170303\scr\main\java\apps\ContactManager\ContactManager.apk'
info: [debug] Error: Bad app: D:\new project\Appium_test20170303\scr\main\java\apps\ContactManager\ContactManager.apk. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name. cause: Error: Error locating the app: ENOENT, stat 'D:\new project\Appium_test20170303\scr\main\java\apps\ContactManager\ContactManager.apk'
at [object Object]. (D:\appium\Appium\node_modules\appium\lib\devices\android\android-common.js:56:13)
at D:\appium\Appium\node_modules\appium\lib\devices\device.js:82:16
at FSReqWrap.oncomplete (fs.js:95:15)
info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: Bad app: D:\new project\Appium_test20170303\scr\main\java\apps\ContactManager\ContactManager.apk. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name. cause: Error: Error locating the app: ENOENT, stat 'D:\new project\Appium_test20170303\scr\main\java\apps\ContactManager\ContactManager.apk')","origValue":"Bad app: D:\new project\Appium_test20170303\scr\main\java\apps\ContactManager\ContactManager.apk. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name. cause: Error: Error locating the app: ENOENT, stat 'D:\new project\Appium_test20170303\scr\main\java\apps\ContactManager\ContactManager.apk'"},"sessionId":null}

i fine the same issues

but it not solve my problem
how can i solve this issues?

User doubleslash instead of single slash for the app path.

Thank your reply.
I try,but Encounter new problems

  @Before
        public void setUp() throws Exception {
            // set up appiup
            File classpathRoot = new File(System.getProperty("user.dir"));
            File appDir = new File(classpathRoot, "scr\\java\\apps\\ContactManager");
            File app = new File(appDir, "ContactManager.apk");
            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setCapability("deviceName","TEST");
            capabilities.setCapability("platformVersion", "4.4.2");
            capabilities.setCapability("app", app.getAbsolutePath());
            capabilities.setCapability("app", "D:\\new project\\Appium_test20170303\\demotest\\scr\\main\\java\\apps");
            //capabilities.setCapability("app", "D:\\new project\\Appium_test20170303\\demotest\\scr\\main\\java\\apps");
            capabilities.setCapability("appPackage", "com.example.android.contactmanager");
            capabilities.setCapability("appActivity", ".ContactManager");
            driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
        }
> error: Failed to start an Appium session, err was: Error: Bad app: D:\new project\Appium_test20170303\demotest\scr\main\java\apps. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name. cause: Error: Using local app, but didn't end in .zip, .ipa or .apk
> info: [debug] Error: Bad app: D:\new project\Appium_test20170303\demotest\scr\main\java\apps. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name. cause: Error: Using local app, but didn't end in .zip, .ipa or .apk
>     at [object Object].<anonymous> (D:\appium\Appium\node_modules\appium\lib\devices\android\android-common.js:56:13)

AM not sure…Anyway could you please check the path… (please check the spelling src or scr)

    **//File appDir = new File("D:/new project/Appium_test20170303/demotest/src/main/java/apps");**
                                                              instead of
    //File appDir = new File("D:/new project/Appium_test20170303/demotest/scr/main/java/apps");

Thank your reply.
You are righ, It’s src
But the issues is still on it

@Before
        public void setUp() throws Exception {
            // set up appiup
            File classpathRoot = new File(System.getProperty("user.dir"));
            File appDir = new File(classpathRoot, "src\\java\\apps\\ContactManager");
            File app = new File(appDir, "ContactManager.apk");
            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setCapability("deviceName","TEST");
            capabilities.setCapability("platformVersion", "4.4.2");
            capabilities.setCapability("app", app.getAbsolutePath());
            capabilities.setCapability("app", "D:\\new project\\Appium_test20170303\\demotest\\src\\main\\java\\apps");
            //capabilities.setCapability("app", "D:\\new project\\Appium_test20170303\\demotest\\scr\\main\\java\\apps");
            capabilities.setCapability("appPackage", "com.example.android.contactmanager");
            capabilities.setCapability("appActivity", ".ContactManager");
            driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
        }

info: Client User-Agent string: Apache-HttpClient/4.5.2 (Java/1.8.0_112-release)
error: Using local app, but didn’t end in .zip, .ipa or .apk
info: [debug] Got configuration error, not starting session
info: [debug] Cleaning up appium session
error: Failed to start an Appium session, err was: Error: Bad app: D:\new project\Appium_test20170303\demotest\src\main\java\apps. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name. cause: Error: Using local app, but didn’t end in .zip, .ipa or .apk
info: [debug] Error: Bad app: D:\new project\Appium_test20170303\demotest\src\main\java\apps. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name. cause: Error: Using local app, but didn’t end in .zip, .ipa or .apk

Could you please remove the line
capabilities.setCapability(“app”, “D:\new project\Appium_test20170303\demotest\src\main\java\apps”);

and

Note: No need to mention the whole directory path.
Create a folder “testAPK” outside the src folder and then change the path like this:

File appDir = new File(classpathRoot, “/testAPK/”);

Now try …

Thank your help
I solved the issues,But there hava other problems
I changed it to this

 @Before
    public void setUp() throws Exception {
        // set up appiup
        File appDir = new File("D:\\NewProject\\newproject\\Appium_test20170303\\demotest\\src\\main\\java\\apps");
        File app = new File( appDir, "ContactManager.apk");
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName","TEST");
        capabilities.setCapability("platformVersion", "4.4.2");
        capabilities.setCapability("app", app.getAbsolutePath());
        capabilities.setCapability("appPackage", "com.example.android.contactmanager");
        capabilities.setCapability("appActivity", ".ContactManager");
        driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    }

Please mention what are the problems?

I opened a new topic