Skip to content

Commit bf7284b

Browse files
committed
Override ANDROID_DATA in server only on Android 4.4
1 parent f2d367a commit bf7284b

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

app/src/server.c

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
#define SC_SERVER_FILENAME "scrcpy-server"
1919

2020
#define SC_SERVER_PATH_DEFAULT PREFIX "/share/scrcpy/" SC_SERVER_FILENAME
21-
#define SC_DEVICE_SERVER_PATH "/data/local/tmp/scrcpy-server.jar"
2221
#define SC_DEVICE_ANDROID_DATA_PATH "/data/local/tmp"
22+
#define SC_DEVICE_SERVER_PATH SC_DEVICE_ANDROID_DATA_PATH "/scrcpy-server.jar"
2323

2424
#define SC_ADB_PORT_DEFAULT 5555
2525
#define SC_SOCKET_NAME_PREFIX "scrcpy_"
@@ -216,19 +216,21 @@ execute_server(struct sc_server *server,
216216
cmd[count++] = "-s";
217217
cmd[count++] = serial;
218218
cmd[count++] = "shell";
219-
cmd[count++] = "mkdir -p " SC_DEVICE_ANDROID_DATA_PATH "/dalvik-cache";
220-
cmd[count++] = "&&";
221-
cmd[count++] = "ANDROID_DATA=" SC_DEVICE_ANDROID_DATA_PATH;
222-
cmd[count++] = "CLASSPATH=" SC_DEVICE_SERVER_PATH;
223-
cmd[count++] = "app_process";
224219

225-
#ifdef SERVER_DEBUGGER
226220
uint16_t sdk_version = sc_adb_get_device_sdk_version(&server->intr, serial);
227221
if (!sdk_version) {
228222
LOGE("Could not determine SDK version");
229223
return 0;
224+
} else if (sdk_version < 21) {
225+
cmd[count++] = "mkdir -p " SC_DEVICE_ANDROID_DATA_PATH "/dalvik-cache";
226+
cmd[count++] = "&&";
227+
cmd[count++] = "ANDROID_DATA=" SC_DEVICE_ANDROID_DATA_PATH;
230228
}
231229

230+
cmd[count++] = "CLASSPATH=" SC_DEVICE_SERVER_PATH;
231+
cmd[count++] = "app_process";
232+
233+
#ifdef SERVER_DEBUGGER
232234
# define SERVER_DEBUGGER_PORT "5005"
233235
const char *dbg;
234236
if (sdk_version < 28) {

0 commit comments

Comments
 (0)