Skip to content

Commit 1d86f6b

Browse files
committed
Merge branch 'fix_recursive_delete'
2 parents 61b95b6 + 9f8df44 commit 1d86f6b

File tree

2 files changed

+21
-10
lines changed

2 files changed

+21
-10
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ int main(int argc, char *argv[]) {
156156
if (dir_exists("lib")) {
157157
/* If we built our own python, set up the paths correctly */
158158
LOGP("Setting up python from ANDROID_PRIVATE");
159-
PyRun_SimpleString("private = posix.environ['ANDROID_PRIVATE']\n"
159+
PyRun_SimpleString("private = posix.environ['ANDROID_APP_PATH']\n"
160160
"argument = posix.environ['ANDROID_ARGUMENT']\n"
161161
"sys.path[:] = [ \n"
162162
" private + '/lib/python27.zip', \n"

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

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,29 +48,37 @@ public class PythonActivity extends SDLActivity {
4848
private Bundle mMetaData = null;
4949
private PowerManager.WakeLock mWakeLock = null;
5050

51+
public String getAppRoot() {
52+
String app_root = getFilesDir().getAbsolutePath() + "/app";
53+
return app_root;
54+
}
55+
56+
5157
@Override
5258
protected void onCreate(Bundle savedInstanceState) {
5359
Log.v(TAG, "My oncreate running");
5460
resourceManager = new ResourceManager(this);
5561
this.showLoadingScreen();
62+
File app_root_file = new File(getAppRoot());
5663

5764
Log.v(TAG, "Ready to unpack");
58-
unpackData("private", getFilesDir());
65+
unpackData("private", app_root_file);
5966

6067
Log.v(TAG, "About to do super onCreate");
6168
super.onCreate(savedInstanceState);
6269
Log.v(TAG, "Did super onCreate");
6370

6471
this.mActivity = this;
6572

73+
String app_root_dir = getAppRoot();
6674
String mFilesDirectory = mActivity.getFilesDir().getAbsolutePath();
6775
Log.v(TAG, "Setting env vars for start.c and Python to use");
6876
SDLActivity.nativeSetEnv("ANDROID_PRIVATE", mFilesDirectory);
69-
SDLActivity.nativeSetEnv("ANDROID_ARGUMENT", mFilesDirectory);
70-
SDLActivity.nativeSetEnv("ANDROID_APP_PATH", mFilesDirectory);
77+
SDLActivity.nativeSetEnv("ANDROID_ARGUMENT", app_root_dir);
78+
SDLActivity.nativeSetEnv("ANDROID_APP_PATH", app_root_dir);
7179
SDLActivity.nativeSetEnv("ANDROID_ENTRYPOINT", "main.pyo");
72-
SDLActivity.nativeSetEnv("PYTHONHOME", mFilesDirectory);
73-
SDLActivity.nativeSetEnv("PYTHONPATH", mFilesDirectory + ":" + mFilesDirectory + "/lib");
80+
SDLActivity.nativeSetEnv("PYTHONHOME", app_root_dir);
81+
SDLActivity.nativeSetEnv("PYTHONPATH", app_root_dir + ":" + app_root_dir + "/lib");
7482

7583
try {
7684
Log.v(TAG, "Access to our meta-data...");
@@ -93,7 +101,9 @@ protected void onCreate(Bundle savedInstanceState) {
93101
}
94102

95103
public void loadLibraries() {
96-
PythonUtil.loadLibraries(getFilesDir());
104+
String app_root = new String(getAppRoot());
105+
File app_root_file = new File(app_root);
106+
PythonUtil.loadLibraries(app_root_file);
97107
}
98108

99109
public void recursiveDelete(File f) {
@@ -267,11 +277,12 @@ public static void start_service(String serviceTitle, String serviceDescription,
267277
Intent serviceIntent = new Intent(PythonActivity.mActivity, PythonService.class);
268278
String argument = PythonActivity.mActivity.getFilesDir().getAbsolutePath();
269279
String filesDirectory = argument;
280+
String app_root_dir = PythonActivity.mActivity.getAppRoot();
270281
serviceIntent.putExtra("androidPrivate", argument);
271-
serviceIntent.putExtra("androidArgument", argument);
282+
serviceIntent.putExtra("androidArgument", app_root_dir);
272283
serviceIntent.putExtra("serviceEntrypoint", "service/main.pyo");
273-
serviceIntent.putExtra("pythonHome", argument);
274-
serviceIntent.putExtra("pythonPath", argument + ":" + filesDirectory + "/lib");
284+
serviceIntent.putExtra("pythonHome", app_root_dir);
285+
serviceIntent.putExtra("pythonPath", app_root_dir + ":" + app_root_dir + "/lib");
275286
serviceIntent.putExtra("serviceTitle", serviceTitle);
276287
serviceIntent.putExtra("serviceDescription", serviceDescription);
277288
serviceIntent.putExtra("pythonServiceArgument", pythonServiceArgument);

0 commit comments

Comments
 (0)