Tool Ren'Py Alternative/ Second save location for RenPy 7.7.1 / 8.2.1 SDK in Android Ports

Wills747

Engaged Member
Dec 14, 2018
2,306
4,773
This one does work for them on Android 13 and prompts the file access req.
That's odd. I built it for testing just before packaging the 8.0.3 and should be the same as the full version here.
DA had a similar issue but for him 8.0.3 was fine and 7.5.3 in Android 12 was the problem having to manually grant permissions. Whatever happened it suddenly started working for him. (?)
I'll double check the full and bare files packages when I get home this weekend if I get a chance.
 
  • Like
Reactions: LightmanP

Impious Monk

Active Member
Game Developer
Oct 14, 2021
600
2,591
I'm running into a problem when I try to install the SDK keys in the Renpy builder. I'm not sure at what point these missing .rpy files were supposed to be created. I used the 8.03 "rapt and ready to go" file to install Renpy.

Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/android.rpy", line 507, in <module>
  File "game/mobilebuild.rpy", line 198, in call
FileNotFoundError: [WinError 2] The system cannot find the file specified

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "launcher/game/android.rpyc", line 505, in script
  File "C:\Users\ducks\Desktop\renpy-8.0.3-Alternative_Saves\renpy-8.0.3-sdk\renpy\ast.py", line 1131, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "C:\Users\ducks\Desktop\renpy-8.0.3-Alternative_Saves\renpy-8.0.3-sdk\renpy\python.py", line 1061, in py_exec_bytecode
    exec(bytecode, globals, locals)
  File "game/android.rpy", line 507, in <module>
  File "C:\Users\ducks\Desktop\renpy-8.0.3-Alternative_Saves\renpy-8.0.3-sdk\rapt\buildlib\rapt\install_sdk.py", line 356, in install_sdk
    check_java(interface)
  File "C:\Users\ducks\Desktop\renpy-8.0.3-Alternative_Saves\renpy-8.0.3-sdk\rapt\buildlib\rapt\install_sdk.py", line 52, in check_java
    if not run_slow(interface, plat.javac, plat.path("buildlib/CheckJDK8.java"), use_path=True):
  File "C:\Users\ducks\Desktop\renpy-8.0.3-Alternative_Saves\renpy-8.0.3-sdk\rapt\buildlib\rapt\install_sdk.py", line 37, in run_slow
    interface.call(args, cancel=True, **kwargs)
  File "game/mobilebuild.rpy", line 198, in call
  File "/home/tom/ab/renpy-build/tmp/install.linux-x86_64/lib/python3.9/subprocess.py", line 951, in __init__
  File "/home/tom/ab/renpy-build/tmp/install.linux-x86_64/lib/python3.9/subprocess.py", line 1420, in _execute_child
FileNotFoundError: [WinError 2] The system cannot find the file specified

Windows-10-10.0.22000 AMD64
Ren'Py 8.0.3.22090809
Ren'Py Launcher 8.0.3.22090809
Thu Oct  6 15:28:39 2022
 

Wills747

Engaged Member
Dec 14, 2018
2,306
4,773
I'm running into a problem when I try to install the SDK keys in the Renpy builder. I'm not sure at what point these missing .rpy files were supposed to be created. I used the 8.03 "rapt and ready to go" file to install Renpy.

Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/android.rpy", line 507, in <module>
  File "game/mobilebuild.rpy", line 198, in call
FileNotFoundError: [WinError 2] The system cannot find the file specified



Windows-10-10.0.22000 AMD64
Ren'Py 8.0.3.22090809
Ren'Py Launcher 8.0.3.22090809
Thu Oct  6 15:28:39 2022
I'm not sure what's happening there, I would try running it in the root of a drive (not necessarily C drive) and turning on NTFS long names.
I'm assuming you've got JDK8 installed and set as default.
I'm on holiday at the moment so I can't say what line 198 in mobilebuild.rpy is looking for.
 

Impious Monk

Active Member
Game Developer
Oct 14, 2021
600
2,591
I'm not sure what's happening there, I would try running it in the root of a drive (not necessarily C drive) and turning on NTFS long names.
I'm assuming you've got JDK8 installed and set as default.
I'm on holiday at the moment so I can't say what line 198 in mobilebuild.rpy is looking for.
Thanks! I had reinstalled JDK8 on a new device and I hadn't done it properly. Fixed that problem and the build works great! Thank you and enjoy your holiday!
 
  • Like
Reactions: Wills747

KoGa3

Engaged Member
Modder
Donor
Aug 14, 2018
2,954
30,060
Seems I have a weird issue with the newer RenPy packages.

I used so far the 7.4.10 package with the single alternative save location (under .../RenPy_Saves). There all worked so far, except that on some new devices after the first game install (when asking for the permissions) the game stucks and you had to close it and restart it. But after that all worked, even game updates.

Now I tried to use a new RenPy package (the v8.03) with the new location (.../Documents/RenPy_Saves). Making the apk worked fine, installing the game on the device also. Also the usual stuck at the first game start. But after that you can't start the game, it throws you instantly back to the Android screen. Here the log from the games save folder:
You don't have permission to view the spoiler content. Log in or register now.

Then I remembered that I already had an older version of the game installed made with my v7.4.10. I removed the old save folder, but it didn't start either. Then I also removed the temp folder and the log file in the new save location in Documents - and now it works...

For me it seems the new RenPy package tries to import saves from the older packages/save locations - and fails there somehow with the permissions or something like that. I tried that also with the 7.5.3 and 7.5.242 packages, same outcome.

My question: is there a way to disable this automatic import function?
 

Wills747

Engaged Member
Dec 14, 2018
2,306
4,773
Seems I have a weird issue with the newer RenPy packages.

I used so far the 7.4.10 package with the single alternative save location (under .../RenPy_Saves). There all worked so far, except that on some new devices after the first game install (when asking for the permissions) the game stucks and you had to close it and restart it. But after that all worked, even game updates.

Now I tried to use a new RenPy package (the v8.03) with the new location (.../Documents/RenPy_Saves). Making the apk worked fine, installing the game on the device also. Also the usual stuck at the first game start. But after that you can't start the game, it throws you instantly back to the Android screen. Here the log from the games save folder:
You don't have permission to view the spoiler content. Log in or register now.

Then I remembered that I already had an older version of the game installed made with my v7.4.10. I removed the old save folder, but it didn't start either. Then I also removed the temp folder and the log file in the new save location in Documents - and now it works...

For me it seems the new RenPy package tries to import saves from the older packages/save locations - and fails there somehow with the permissions or something like that. I tried that also with the 7.5.3 and 7.5.242 packages, same outcome.

My question: is there a way to disable this automatic import function?
Yes, in a round about way. There's a number of lines to remove in main.rpy.
I might try editing them to "try" rather than removing them completely as this permission error seems only to occur in certain Android versions/devices while being useful to everyone else.
I'm on holiday at the moment but I'll add it to my growing list of stuff to sort when I get back next week.

I take it you're on Android 12? If I can send you a corrected file to try against one of your older ports that would be very useful.
 
  • Like
  • Red Heart
Reactions: doujin1 and KoGa3

KoGa3

Engaged Member
Modder
Donor
Aug 14, 2018
2,954
30,060
Yes, in a round about way. There's a number of lines to remove in main.rpy.
I might try editing them to "try" rather than removing them completely as this permission error seems only to occur in certain Android versions/devices while being useful to everyone else.
I'm on holiday at the moment but I'll add it to my growing list of stuff to sort when I get back next week.

I take it you're on Android 12? If I can send you a corrected file to try against one of your older ports that would be very useful.
Thanks. And enjoy your vacation! It's not that important now, I still can use the 7.4.10. And yes, my test device (a Samsung tablet) has Android 12. And I think I've found the section for the import already (under "##MOVE DATA FROM OLD ALT LOC"), trying to deactivate that for a test port.

Edit:
Tried that and it seemed to work. But now the port is kinda ignoring it's own saves. They appear in the persistent second save folder, but after removing and re-installing the game they are ignored, the save list is empty in the game. Well, I'll stop that now and stick with my working v7.4.10 so far.
 
Last edited:

Wills747

Engaged Member
Dec 14, 2018
2,306
4,773
Thanks. And enjoy your vacation! It's not that important now, I still can use the 7.4.10. And yes, my test device (a Samsung tablet) has Android 12. And I think I've found the section for the import already (under "##MOVE DATA FROM OLD ALT LOC"), trying to deactivate that for a test port.

Edit:
Tried that and it seemed to work. But now the port is kinda ignoring it's own saves. They appear in the persistent second save folder, but after removing and re-installing the game they are ignored, the save list is empty in the game. Well, I'll stop that now and stick with my working v7.4.10 so far.
Can you try the attached file? Put it in the renpy folder and overwrite the existing.
It will still *try* and move files but shouldn't baulk if they don't move.
It will work for both 7.5.x and 8.0.x
I've tested it and it's still moving files from both stock and old alt saves but I don't have a device either real or virtual where the script failed before.
 
  • Like
Reactions: KoGa3

KoGa3

Engaged Member
Modder
Donor
Aug 14, 2018
2,954
30,060
Can you try the attached file? Put it in the renpy folder and overwrite the existing.
It will still *try* and move files but shouldn't baulk if they don't move.
It will work for both 7.5.x and 8.0.x
I've tested it and it's still moving files from both stock and old alt saves but I don't have a device either real or virtual where the script failed before.
Thanks. Unfortunately the same behavior as mentioned above: All seems to work fine, the game is also playing well on the device. You can see the saves created from the game in ...\Documents\RenPy_Saves\"gamename"\ folder.

But the game is still completely ignoring them. When I copied new ones from the PC there they don't show up in the games saves. Also after uninstalling an re-installing the game all saves are lost, even the save files are still in the persistent folder in Documents.

This is the port I've tried, it's a completely new one for the game "A Second Chance": (~505MB)
 

Wills747

Engaged Member
Dec 14, 2018
2,306
4,773
Thanks. Unfortunately the same behavior as mentioned above: All seems to work fine, the game is also playing well on the device. You can see the saves created from the game in ...\Documents\RenPy_Saves\"gamename"\ folder.

But the game is still completely ignoring them. When I copied new ones from the PC there they don't show up in the games saves. Also after uninstalling an re-installing the game all saves are lost, even the save files are still in the persistent folder in Documents.

This is the port I've tried, it's a completely new one for the game "A Second Chance": (~505MB)
Thanks, I'll see if I can work out what's happening.
 

KoGa3

Engaged Member
Modder
Donor
Aug 14, 2018
2,954
30,060
Thanks, I'll see if I can work out what's happening.
Info: Had a chance to install it on an older Samsung device with Android 10. There all is working. The issue seems to be something with newer Android versions.
 

Wills747

Engaged Member
Dec 14, 2018
2,306
4,773
Thanks. Unfortunately the same behavior as mentioned above: All seems to work fine, the game is also playing well on the device. You can see the saves created from the game in ...\Documents\RenPy_Saves\"gamename"\ folder.

But the game is still completely ignoring them. When I copied new ones from the PC there they don't show up in the games saves. Also after uninstalling an re-installing the game all saves are lost, even the save files are still in the persistent folder in Documents.

This is the port I've tried, it's a completely new one for the game "A Second Chance": (~505MB)
Your port of A Second Chance is working fine for me.
It does sound like a deep rooted permissions issue.
The reason your saves are disappearing on uninstall is likely they are getting written in the internal /data partition (same place the APK is installed, this is a fallback location)
I'll try it on Google's SDK emulator. Do you know if your phone is API 31 or 32?
 

KoGa3

Engaged Member
Modder
Donor
Aug 14, 2018
2,954
30,060
Your port of A Second Chance is working fine for me.
It does sound like a deep rooted permissions issue.
The reason your saves are disappearing on uninstall is likely they are getting written in the internal /data partition (same place the APK is installed, this is a fallback location)
I'll try it on Google's SDK emulator. Do you know if your phone is API 31 or 32?
Installed an App on my phone. It says: API: 31 / 12(S)
 

Wills747

Engaged Member
Dec 14, 2018
2,306
4,773
Installed an App on my phone. It says: API: 31 / 12(S)
Cool, thanks. I'm running a compression at the moment and unfortunately I don't have cores to burn, I'll try Android 12 API31 in the emulator but it won't be until tomorrow.
Android SDK used in RenPy has been bumped from 30 to 33 in the newer versions.
I've also removed legacy storage permissions as they are no longer required but that should be particular to SDK 30 and Android 9
I wonder if it's something funky Samsung have done.
Can you try this build of "the question" and see if it behaves the same way?
 

KoGa3

Engaged Member
Modder
Donor
Aug 14, 2018
2,954
30,060
Cool, thanks. I'm running a compression at the moment and unfortunately I don't have cores to burn, I'll try Android 12 API31 in the emulator but it won't be until tomorrow.
Android SDK used in RenPy has been bumped from 30 to 33 in the newer versions.
I've also removed legacy storage permissions as they are no longer required but that should be particular to SDK 30 and Android 9
I wonder if it's something funky Samsung have done.
Can you try this build of "the question" and see if it behaves the same way?
No, this one seems to work also on the new device. I installed the game, made a save and removed the game again. After I re-installed it the save was still there.