Skip to content

Commit 76ed15e

Browse files
committed
Moved setenv jni call to PythonActivity
1 parent cb1f67e commit 76ed15e

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed

pythonforandroid/bootstraps/webview/build/jni/src/start.c

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,4 +316,21 @@ JNIEXPORT void JNICALL Java_org_kivy_android_PythonService_nativeStart(
316316
main(1, argv);
317317
}
318318

319+
void Java_org_kivy_android_PythonActivity_nativeSetEnv(
320+
JNIEnv* env, jclass jcls,
321+
jstring j_name, jstring j_value)
322+
/* JNIEXPORT void JNICALL Java_org_libsdl_app_SDLActivity_nativeSetEnv( */
323+
/* JNIEnv* env, jclass jcls, */
324+
/* jstring j_name, jstring j_value) */
325+
{
326+
jboolean iscopy;
327+
const char *name = (*env)->GetStringUTFChars(env, j_name, &iscopy);
328+
const char *value = (*env)->GetStringUTFChars(env, j_value, &iscopy);
329+
setenv(name, value, 1);
330+
(*env)->ReleaseStringUTFChars(env, j_name, name);
331+
(*env)->ReleaseStringUTFChars(env, j_value, value);
332+
}
333+
334+
335+
319336
#endif

pythonforandroid/bootstraps/webview/build/src/org/kivy/android/PythonActivity.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,12 @@ protected void onCreate(Bundle savedInstanceState) {
6767

6868
String mFilesDirectory = mActivity.getFilesDir().getAbsolutePath();
6969
Log.v(TAG, "Setting env vars for start.c and Python to use");
70-
SDLActivity.nativeSetEnv("ANDROID_PRIVATE", mFilesDirectory);
71-
SDLActivity.nativeSetEnv("ANDROID_ARGUMENT", mFilesDirectory);
72-
SDLActivity.nativeSetEnv("ANDROID_APP_PATH", mFilesDirectory);
73-
SDLActivity.nativeSetEnv("ANDROID_ENTRYPOINT", "main.pyo");
74-
SDLActivity.nativeSetEnv("PYTHONHOME", mFilesDirectory);
75-
SDLActivity.nativeSetEnv("PYTHONPATH", mFilesDirectory + ":" + mFilesDirectory + "/lib");
70+
PythonActivity.nativeSetEnv("ANDROID_PRIVATE", mFilesDirectory);
71+
PythonActivity.nativeSetEnv("ANDROID_ARGUMENT", mFilesDirectory);
72+
PythonActivity.nativeSetEnv("ANDROID_APP_PATH", mFilesDirectory);
73+
PythonActivity.nativeSetEnv("ANDROID_ENTRYPOINT", "main.pyo");
74+
PythonActivity.nativeSetEnv("PYTHONHOME", mFilesDirectory);
75+
PythonActivity.nativeSetEnv("PYTHONPATH", mFilesDirectory + ":" + mFilesDirectory + "/lib");
7676

7777
try {
7878
Log.v(TAG, "Access to our meta-data...");
@@ -353,5 +353,6 @@ protected void showLoadingScreen() {
353353
}
354354
}
355355

356+
public static native void nativeSetEnv(String j_name, String j_value);
356357

357358
}

0 commit comments

Comments
 (0)