(Original error: Could not push strings.json)

I don’t know what is this issues mean
Is there anything missing?

“org.openqa.selenium.SessionNotCreatedException: A new session could not be created. (Original error: Could not push strings.json) (WARNING: The server did not provide any stacktrace information)”

I guess there is a problem in selenium-server.jar
Appium 1.4.16.1
selenium-server-standalone-3.3.1 (1).jar
java-client-5.0.0-BETA6.jar
API 21

This is my code

package com.example;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;

import java.io.File;
import java.net.URL;
import java.util.List;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;

public class test1 {
    private AppiumDriver<AndroidElement> driver;

    @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);
    }

    @After
    public void tearDown() throws Exception {
        driver.quit();
    }

    @Test
    public void addContact(){
        WebElement el = driver.findElement(By.xpath(".//*[@text='Add Contact']"));
        el.click();
        List<AndroidElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");
        textFieldsList.get(0).sendKeys("Some Name");
        textFieldsList.get(2).sendKeys("[email protected]");
        driver.swipe(100, 500, 100, 100, 2);
        driver.findElementByXPath(".//*[@text='Save']").click();
    }
}

Appium

> info: --> POST /wd/hub/session {"capabilities":[{"desiredCapabilities":{"app":"D:\\NewProject\\newproject\\Appium_test20170303\\demotest\\src\\main\\java\\apps\\ContactManager.apk","appPackage":"com.example.android.contactmanager","appActivity":".ContactManager","platformName":"Android","deviceName":"TEST","platformVersion":"4.4.2"}},{"requiredCapabilities":{}}],"desiredCapabilities":{"app":"D:\\NewProject\\newproject\\Appium_test20170303\\demotest\\src\\main\\java\\apps\\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:\NewProject\newproject\Appium_test20170303\demotest\src\main\java\apps\ContactManager.apk
> info: [debug] Creating new appium session 4d618cc2-7eeb-4599-bae2-70dc6a7341c2
> info: Starting android appium
> info: [debug] Getting Java version
> info: Java version is: 1.8.0_73
> info: [debug] Checking whether adb is present
> info: [debug] Using adb from D:\SDK\platform-tools\adb.exe
> info: [debug] Using fast reset? true
> info: [debug] Preparing device for session
> info: [debug] Checking whether app is actually present
> info: Retrieving device
> info: [debug] Trying to find a connected android device
> info: [debug] Getting connected devices...
> info: [debug] executing cmd: D:\SDK\platform-tools\adb.exe devices
> info: [debug] 1 device(s) connected
> info: Found device emulator-5554
> info: [debug] Setting device id to emulator-5554
> info: [debug] Waiting for device to be ready and to respond to shell commands (timeout = 5)
> info: [debug] executing cmd: D:\SDK\platform-tools\adb.exe -s emulator-5554 wait-for-device
> info: [debug] executing cmd: D:\SDK\platform-tools\adb.exe -s emulator-5554 shell "echo 'ready'"
> info: [debug] Starting logcat capture
> info: [debug] Getting device API level
> info: [debug] executing cmd: D:\SDK\platform-tools\adb.exe -s emulator-5554 shell "getprop ro.build.version.sdk"
> info: [debug] Device is at API Level 21
> info: Device API level is: 21
> info: [debug] Extracting strings for language: default
> info: [debug] executing cmd: D:\SDK\platform-tools\adb.exe -s emulator-5554 shell "getprop persist.sys.language"
> info: [debug] Current device persist.sys.language: en
> info: [debug] java -jar "D:\appium\Appium\node_modules\appium\node_modules\appium-adb\jars\appium_apk_tools.jar" "stringsFromApk" "D:\NewProject\newproject\Appium_test20170303\demotest\src\main\java\apps\ContactManager.apk" "C:\Users\?單€⊥?\AppData\Local\Temp\com.example.android.contactmanager" en
> info: [debug] No strings.xml for language 'en', getting default strings.xml
> info: [debug] java -jar "D:\appium\Appium\node_modules\appium\node_modules\appium-adb\jars\appium_apk_tools.jar" "stringsFromApk" "D:\NewProject\newproject\Appium_test20170303\demotest\src\main\java\apps\ContactManager.apk" "C:\Users\?單€⊥?\AppData\Local\Temp\com.example.android.contactmanager"
> info: [debug] Reading strings from converted strings.json
> info: [debug] Setting language to default
> info: [debug] executing cmd: D:\SDK\platform-tools\adb.exe -s emulator-5554 push "C:\\Users\\?單€⊥?\\AppData\\Local\\Temp\\com.example.android.contactmanager\\strings.json" /data/local/tmp
> info: [debug] Stopping logcat capture
> info: [debug] Logcat terminated with code null, signal SIGTERM
> info: [debug] Sent shutdown command, waiting for UiAutomator to stop...
> warn: UiAutomator did not shut down fast enough, calling it gone
> info: [debug] Cleaning up android objects
> error: Failed to start an Appium session, err was: Error: Could not push strings.json
> info: [debug] Cleaning up appium session
> info: [debug] Error: Could not push strings.json
>     at D:\appium\Appium\node_modules\appium\lib\devices\android\android.js:347:26
>     at [object Object].<anonymous> (D:\appium\Appium\node_modules\appium\node_modules\appium-adb\lib\adb.js:178:16)
>     at ChildProcess.exithandler (child_process.js:758:5)
>     at ChildProcess.emit (events.js:110:17)
>     at maybeClose (child_process.js:1016:16)
>     at Socket.<anonymous> (child_process.js:1184:11)
>     at Socket.emit (events.js:107:17)
>     at Pipe.close (net.js:484:11)
> info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: Could not push strings.json)","origValue":"Could not push strings.json"},"sessionId":null}
> info: <-- POST /wd/hub/session 500 9254.639 ms - 176 

Can anyone solve this problem?

I don’t know exactly what the problem is.
Please try this
If you have a space in Android SDK location? If yes try to remove it and see if it helps.

OK,Thank you for helping me!!
and i cheak my sdk. it’s no problem

Complete guess, but I would think that whatever this character is is causing the problem. Can you try a path without that character?