SMAPI-Android-Installer icon indicating copy to clipboard operation
SMAPI-Android-Installer copied to clipboard

No Android 13 support.

Open nick123456789025 opened this issue 1 year ago • 9 comments

On Android 13, Google has imposed restrictions on file access (SAF), this is preventing the app from working properly. The installer will try to prompt SAF but The user cannot give access to that folder anymore, and it is not possible to select a different folder or the game directory.

Screenshot_20220831-181558

There is a workaround. you can install the app on an Android 9-12 device, and then copy the files over to the device you want to run the game, Install the APK from the SMAPI installer folder.

A possible fix would be to update the path that the framework is looking for when the app prompts it, change it so it is looking for the games directory or whatever directory that the app is currently looking for instead of having access to the entire OBB/data folder. ( I would like to play this game on Android 13 and I hope this is helpful to the development of the next version).

Screenshot_20220831-181943

nick123456789025 avatar Aug 31 '22 22:08 nick123456789025

I would love to go in and fix this but unfortunately I don't have the time. Here is a work around so you can still play though!

Settings > Apps > Special app access > All files access > com.zane.smapiinstaller (Enable it) Run the SMAPI installer, it should ask for permission to that folder permission in obb but just swipe to go back and it should be generating the file. Then install!

If it doesn't work, grant all permissions to the installer in app info before running.

Let me know if this works for you please

Minwol avatar Sep 08 '22 06:09 Minwol

This workaround does work, it also found all the plugins that were installed and lets me configure them. Thanks for letting me know.

Why does the installer need OBB and data access anyway is it just for the save files?

nick123456789025 avatar Sep 08 '22 14:09 nick123456789025

This workaround does work, it also found all the plugins that were installed and lets me configure them. Thanks for letting me know.

Why does the installer need OBB and data access anyway is it just for the save files?

OBB contains data like music and graphics. Some games store everything in a .obb file, like sonic the hedgehog, where as stardew i think just stores sound. Data i think is similar but idk the specifics.

lividhen avatar Sep 08 '22 18:09 lividhen

Thx

nick123456789025 avatar Sep 08 '22 18:09 nick123456789025

Only these permissions are showing up for me. It is still asking for permission in app. Screenshot_20230102-202642_Permission controller

vikas2316 avatar Jan 02 '23 15:01 vikas2316

Only these permissions are showing up for me. It is still asking for permission in app. Screenshot_20230102-202642_Permission controller

That is the app permissions screen. You need to find the Special app access under Settings > Apps

Minwol avatar Jan 02 '23 15:01 Minwol

Hm?

ghost avatar Mar 27 '23 13:03 ghost

I kinda have the same problem. When I'm giving my the game access to its folder inside Android/data, i cannot give access to the path. I already did give SMAPI installer the All File Access. Screenshot_20230921-234635

kenth246 avatar Sep 21 '23 17:09 kenth246

I did all the steps even gave special apps permission but getting this error when I open the app: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.zane.stardewvalley/crc648e5438a58262f792.SMainActivity}: java.lang.ClassNotFoundException: com.google.android.vending.licensing.AESObfuscator at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3909) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4055) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2415) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:211) at android.os.Looper.loop(Looper.java:300) at android.app.ActivityThread.main(ActivityThread.java:8400) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:559) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:954) Caused by: java.lang.ClassNotFoundException: com.google.android.vending.licensing.AESObfuscator at crc648e5438a58262f792.SMainActivity.n_onCreate(Native Method) at crc648e5438a58262f792.SMainActivity.onCreate(SMainActivity.java:31) at android.app.Activity.performCreate(Activity.java:8538) at android.app.Activity.performCreate(Activity.java:8502) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1440) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3890) ... 12 more

uditkandari avatar Sep 24 '23 22:09 uditkandari