Difference between revisions of "Modding:Installing SMAPI on Android"

From Stardew Valley Wiki
Jump to navigation Jump to search
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Modding:Player Guide/header}}
+
{{modding player guide header}}
  
This page explains how to install SMAPI (the tool which lets you use mods) on Android. See also:
+
This page explains how to install SMAPI (the tool which lets you use mods) on Android.
* [[Modding:Installing SMAPI on Linux|Instructions for Linux or Steam Deck]]
+
 
* [[Modding:Installing SMAPI on Mac|Instructions for macOS]]
+
See instructions for: [[Modding:Installing SMAPI on Linux|Linux]] [[Modding:Installing SMAPI on Mac|macOS]] • [[Modding:Installing SMAPI on Steam Deck|Steam Deck]] • [[Modding:Installing SMAPI on Windows|Windows]].
* [[Modding:Installing SMAPI on Windows|Instructions for Windows]]
 
  
 
__TOC__
 
__TOC__
  
 
==Install==
 
==Install==
 +
<div style="border: 1px solid #F96; border-left: 1em solid #F96; 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 />
 +
You can watch {{github|ZaneYork/SMAPI-Android-Installer/issues/246|this tracking ticket}} to see the latest updates.
 +
 +
An incomplete list of working/non-working Android mods can be found [https://android.stardew.rocks here].
 +
</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>).
 
# 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].
 
# [https://www.greenbot.com/article/2452614/how-to-sideload-an-app-onto-your-android-phone-or-tablet.html Install the APK on your phone].
Line 30: Line 39:
 
===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 use mods that need Stardew Valley 1.5?===
 
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:
 
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:
  
# Try the latest version and see if it works. If not, continue with the next steps.
+
<ol>
# From the Nexus mod page, click the ''Files'' tab to find all available versions.
+
<li>Try the latest version.</li>
# Check under "Main Files" and "Optional Files" for one which says it's for Android. If there's none, continue with the next steps.
+
<li>From the Nexus mod page, click the ''Files'' tab to find all available versions.</li>
# Next to "Old Files" (if present), change the sort to "Date Uploaded" and "Desc".
+
<li>Check under "Main Files" and "Optional Files":
# Find the latest file which...
+
# Try the latest file which...
 +
#* says it's for Android;
 +
#* ''or'' says it's for Stardew Valley 1.4;
 +
#* ''or'' says it's for SMAPI 3.7.6 or earlier;
 +
#* ''or'' was uploaded before 21 December 2020.
 +
</li>
 +
<li>Check under "Old Files" (if present):
 +
# Change the sort to "Date Uploaded" and "Desc".
 +
# Try the latest file which...
 
#* says it's for Stardew Valley 1.4;
 
#* says it's for Stardew Valley 1.4;
 
#* ''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 21 December 2020.
# If you didn't find a matching file, try checking the mod comments or posting a new comment.
+
</li>
# If there is no "Old Files" section, you can try downloading an archived file, but downloading archived mod versions is at your own risk, and mod authors often won't provide support for them (it is possible they were archived for a reason).
+
<li>Check the archived files (if any):
#* Click the Files tab on the mod page.
+
<ol>
#* Right-click Manual Download for the latest version, and choose Copy Link.
+
<li>If there's a "File Archive" button at the bottom of the page, click it.</li>
#* Paste the link somewhere (Notepad is fine).
+
<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:
#* Click the File Archive button at the bottom of the page.
+
 
#* Right-click the version you want to download, and choose Inspect.
+
{{collapse|&#32;script to add download links|content=<syntaxhighlight lang="js">
#* Look for the <code><dt</code> element right above the highlighted element, and copy the <code>data-id</code> value.
+
(function() {
#* In the link you copied in step 2, replace the number after <code>id=</code> with that value.
+
    const gameId = $("#section").attr("data-game-id");
#* Paste the link into your browser's address bar, and it'll download the archived file.
+
    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>
 +
</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

Latest revision as of 06:26, 28 September 2023

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

See instructions for: LinuxmacOSSteam DeckWindows.

Install

SMAPI for Stardew Valley 1.5.6 is in alpha testing. Some mods may not work with the latest version of the game yet.
You can watch this tracking ticket to see the latest updates.

An incomplete list of working/non-working Android mods can be found here.

Note: Because Android SMAPI is still in its testing phases, even the latest release may not work for everyone


  1. Download the latest installer APK file (the file under "Assets" that ends with .apk).
  2. Install the APK on your phone.
  3. 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).
  4. 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 steps again; the installer will automatically clean up previous versions.

Uninstall

  1. Uninstall the SMAPI Stardew Valley app.
  2. Uninstall the SMAPI installer.
  3. Manually delete the smapi-internal folder from the StardewValley game folder.

FAQs

How do I add and use mods?

Once SMAPI is installed, install mods by unzipping them into the newly-created StardewValley/Mods 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?

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.