Jump to content

Modding:Installing SMAPI on Android: Difference between revisions

From Stardew Valley Wiki
imported>Peaw
mNo edit summary
imported>Pathoschild
rewrite page to reflect SMAPI no longer working with newer versions of the game
Line 8: Line 8:


==Install==
==Install==
<div style="border: 1px solid #F96; border-left: 1em solid #F96; padding: 0.5em 1em; border-radius: 5px;">
<div style="border: 1px solid #F66; border-left: 1em solid #F66; padding: 0.5em 1em; border-radius: 5px;">
'''SMAPI for Stardew Valley 1.5.6 is in alpha testing. Some mods may not work with the latest version of the game yet.'''<br />
'''Mods are poorly supported on Android and may be a frustrating experience.'''<br />
You can watch {{github|ZaneYork/SMAPI-Android-Installer/issues/246|this tracking ticket}} to see the latest updates.
To play with mods, installing Stardew Valley on a PC platform instead is strongly recommended (Linux, macOS, Steam Deck, or Windows).


An incomplete list of working/non-working Android mods can be found [https://android.stardew.rocks here].
The main issues are:
# SMAPI on Android only works up to [[Mobile Version History#1.5.6.39|Stardew Valley 1.5.6.39]], and hasn't been updated since then. You can't legally download an older version of the game, so you can't get help doing it in any official community (including Discord, Reddit, or the forums).
# You'll also need older versions of mods compatible with Stardew Valley 1.5.6 (see [[#FAQs|FAQs below]]), and many newer mods won't work.
# Even mod versions for Stardew Valley 1.5.6 may not work on Android, due to differences between the Android and PC versions of the game.
# Newer Android versions have stricter storage policies which make accessing the files much more difficult.
# {{upcoming|1.6|inline=1}} modding unfortunately becomes even more difficult.
## The game now uses ahead-of-time compilation (AOT). This matches the game on iOS and nearly doubles performance, but means many mods may no longer be possible (including core frameworks like SMAPI and Content Patcher).
## Reinstalling the game or installing SMAPI will delete your saves, so you need to manually back up and restore them each time.
 
If you really want to use mods on Android, good luck! You can check the {{github|ZaneYork/SMAPI-Android-Installer/issues/246|tracking ticket in the SMAPI for Android repository}} for discussion.
</div>
</div>
'''Note: Because Android SMAPI is still in its testing phases, even the latest release may not work for everyone'''
# Download the {{github|ZaneYork/SMAPI-Android-Installer/releases|latest installer APK file}} (the file under "Assets" that ends with <samp>.apk</samp>).
# [https://www.greenbot.com/article/2452614/how-to-sideload-an-app-onto-your-android-phone-or-tablet.html Install the APK on your phone].
# Run the new app to install SMAPI. This may take a while depending on your device (''e.g.,'' 21s on a Samsung Galaxy S10, and 1 minute 13s on a Samsung Galaxy S6).
# When it's done, you can safely uninstall the installer app.
That's it! Just launch the game to play with mods.
==Update==
Just follow the [[#Install|install steps]] again; the installer will automatically clean up previous versions.
==Uninstall==
# Uninstall the SMAPI Stardew Valley app.
# Uninstall the SMAPI installer.
# Manually delete the <samp>smapi-internal</samp> folder from the <samp>StardewValley</samp> game folder.


==FAQs==
==FAQs==
===How do I add and use mods?===
Once SMAPI is installed, install mods by unzipping them into the newly-created <samp>StardewValley/Mods</samp> folder. To launch the game with mod support, just run the SMAPI Stardew Valley icon or tap the floating action button in the installer app.
===Why is there a separate SMAPI for Android?===
===Why is there a separate SMAPI for Android?===
The Android version of the game is very custom compared to other platforms, so the official version of SMAPI isn't compatible. There's a [[wikipedia:Porting|port]] of SMAPI to Android developed by MartyrPher and later ZaneYork (see {{github|ZaneYork/SMAPI|main source code}} and {{github|ZaneYork/SMAPI-Android-Installer|installer source code}}). It supports most SMAPI mods and content packs (including framework mods like Content Patcher, Farm Type Manager, Json Assets, and PyTK), but some mods may not be compatible.
The Android version of the game is very custom compared to other platforms, so the official version of SMAPI isn't compatible. There's a [[wikipedia:Porting|port]] of SMAPI to Android developed by MartyrPher and later ZaneYork (see {{github|ZaneYork/SMAPI|main source code}} and {{github|ZaneYork/SMAPI-Android-Installer|installer source code}}). It supports most SMAPI mods and content packs (including framework mods like Content Patcher, Farm Type Manager, Json Assets, and PyTK), but some mods may not be compatible.
<!--


===How do I use mods that need Stardew Valley 1.5?===
===How do I find the version of a mod which works on Android?===
Stardew Valley 1.5 isn't released on Android yet, so you'll need older versions of many mods. Here's how to find a compatible version for most mods:
Since you need to use an older version of the game, you'll need older versions of many mods too. Here's how to find a compatible version for most mods:


<ol>
# Try the latest version.
<li>Try the latest version.</li>
# From the Nexus mod page, click the ''Files'' tab to find all available versions.
<li>From the Nexus mod page, click the ''Files'' tab to find all available versions.</li>
# Under "Main Files" and "Optional Files", try the latest file which...
<li>Check under "Main Files" and "Optional Files":
# Try the latest file which...
#* says it's for Android;
#* says it's for Android;
#* ''or'' says it's for Stardew Valley 1.4;
#* ''or'' says it's for Stardew Valley 1.5.6 or earlier;
#* ''or'' says it's for SMAPI 3.7.6 or earlier;
#* ''or'' says it's for SMAPI 3.7.6 or earlier;
#* ''or'' was uploaded before 21 December 2020.
#* ''or'' was uploaded before 19 March 2024.
</li>
# Under "Old Files" (if present):
<li>Check under "Old Files" (if present):
## Change the sort to "Date Uploaded" and "Desc".
# Change the sort to "Date Uploaded" and "Desc".
## Try the latest file using the rules from step 3.
# Try the latest file which...
# Check the archived files (if any):
#* says it's for Stardew Valley 1.4;
## If there's a "File Archive" button at the bottom of the page, click it.</li>
#* ''or'' says it's for SMAPI 3.7.6 or earlier;
## Try the latest file which matches the rules from step 3. (You can [https://github.com/Pathoschild/StardewScripts/tree/main/nexus-download-archived-files use this script to add download links].)
#* ''or'' was uploaded before 21 December 2020.
# If you didn't find a matching file, try checking the mod comments or posting a new comment there.
</li>
<li>Check the archived files (if any):
<ol>
<li>If there's a "File Archive" button at the bottom of the page, click it.</li>
<li>Try the latest file which matches the previous step. You can run this script in [https://webmasters.stackexchange.com/q/8525 your JavaScript console] to add download links:
 
{{collapse|&#32;script to add download links|content=<syntaxhighlight lang="js">
(function() {
    const gameId = $("#section").attr("data-game-id");
    const downloadElements = $("#file-container-archived-files [data-id]");
 
    for (let element of downloadElements) {
        element = $(element);
        const description = element.find(".files-description");
        const fileId = element.attr("data-id");
 
        const html = `
            <div class="tabbed-block">
                <ul class="accordion-downloads clearfix">
                    <li>
                        <a class="btn inline-flex popup-btn-ajax" href="/Core/Libs/Common/Widgets/DownloadPopUp?id=${fileId}&nmm=1&game_id=${gameId}">
                            <svg title="" class="icon icon-nmm">
                                <use xlink:href="https://www.nexusmods.com/assets/images/icons/icons.svg#icon-nmm"></use>
                            </svg>
                            <span class="flex-label">Mod manager download</span>
                        </a>
                    </li>
                    <li>
                    </li>
                    <li>
                        <a class="btn inline-flex popup-btn-ajax" href="/Core/Libs/Common/Widgets/DownloadPopUp?id=${fileId}&game_id=${gameId}">
                            <svg title="" class="icon icon-manual">
                                <use xlink:href="https://www.nexusmods.com/assets/images/icons/icons.svg#icon-manual"></use>
                            </svg>
                            <span class="flex-label">Manual download</span>
                        </a>
                    </li>
                </ul>
            </div>
        `;
 
        $(html).insertAfter(description);
    }
})();
</syntaxhighlight>}}


'''Note:''' downloading archived mod versions is at your own risk, and mod authors often won't provide support for them.</li>
See a [https://android.stardew.rocks very incomplete list of working Android mods].
</ol>
</li>
<li>If you didn't find a matching file, try checking the mod comments or posting a new comment.</li>
</ol>
-->


{{Modding guide footer
{{Modding guide footer

Revision as of 16:25, 20 October 2024

This page explains how to install SMAPI (the tool which lets you use mods) on Android.

See instructions for: Linux • macOS • Steam Deck • Windows.

Install

Mods are poorly supported on Android and may be a frustrating experience.
To play with mods, installing Stardew Valley on a PC platform instead is strongly recommended (Linux, macOS, Steam Deck, or Windows).

The main issues are:

  1. SMAPI on Android only works up to Stardew Valley 1.5.6.39, and hasn't been updated since then. You can't legally download an older version of the game, so you can't get help doing it in any official community (including Discord, Reddit, or the forums).
  2. You'll also need older versions of mods compatible with Stardew Valley 1.5.6 (see FAQs below), and many newer mods won't work.
  3. Even mod versions for Stardew Valley 1.5.6 may not work on Android, due to differences between the Android and PC versions of the game.
  4. Newer Android versions have stricter storage policies which make accessing the files much more difficult.
  5. As of the upcoming Stardew Valley 1.6: modding unfortunately becomes even more difficult.
    1. The game now uses ahead-of-time compilation (AOT). This matches the game on iOS and nearly doubles performance, but means many mods may no longer be possible (including core frameworks like SMAPI and Content Patcher).
    2. Reinstalling the game or installing SMAPI will delete your saves, so you need to manually back up and restore them each time.

If you really want to use mods on Android, good luck! You can check the tracking ticket in the SMAPI for Android repository for discussion.

FAQs

Why is there a separate SMAPI for Android?

The Android version of the game is very custom compared to other platforms, so the official version of SMAPI isn't compatible. There's a port of SMAPI to Android developed by MartyrPher and later ZaneYork (see main source code and installer source code). It supports most SMAPI mods and content packs (including framework mods like Content Patcher, Farm Type Manager, Json Assets, and PyTK), but some mods may not be compatible.

How do I find the version of a mod which works on Android?

Since you need to use an older version of the game, you'll need older versions of many mods too. Here's how to find a compatible version for most mods:

  1. Try the latest version.
  2. From the Nexus mod page, click the Files tab to find all available versions.
  3. Under "Main Files" and "Optional Files", try the latest file which...
    • says it's for Android;
    • or says it's for Stardew Valley 1.5.6 or earlier;
    • or says it's for SMAPI 3.7.6 or earlier;
    • or was uploaded before 19 March 2024.
  4. Under "Old Files" (if present):
    1. Change the sort to "Date Uploaded" and "Desc".
    2. Try the latest file using the rules from step 3.
  5. Check the archived files (if any):
    1. If there's a "File Archive" button at the bottom of the page, click it.
    2. Try the latest file which matches the rules from step 3. (You can use this script to add download links.)
  6. If you didn't find a matching file, try checking the mod comments or posting a new comment there.

See a very incomplete list of working Android mods.