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

From Stardew Valley Wiki
Jump to navigation Jump to search
(→‎Audio Mods: How To: section stub)
 
(73 intermediate revisions by 15 users not shown)
Line 1: Line 1:
==Before You Begin==
+
{{modding player guide header}}
Mod at your own risk, not all mods will be compatible with Android. User has the full responsibility of ensuring they do not cause damage by following this guide.
 
  
==Where To Obtain The APK==
+
This page explains how to install SMAPI (the tool which lets you use mods) on Android.
Unfortunately sourcing the apk from third party websites is not recommended as it can be unsafe and can pose a risk to your device.
 
However, the apk can be taken directly from your device, providing you have root access. It can be located at <code>/data/app/com.chucklefish.stardewvalley-1/base.apk</code>
 
  
==XNB Mods: How To==
+
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]].
# Install zip program of your choice. Recommended: [https://www.7-zip.org/download.html 7zip].
 
# Install JDK 8.
 
# Install Android Studio, make sure to install build-tools.
 
# Install APK Signer Tool (v2).
 
# Extract the Stardew Valley apk to your computer with zip program.
 
# Replace the Vanilla XNBs (found in <code>./assets/Content/</code>) with the Modded XNBs.
 
# Archive the contents of the Stardew Valley apk with your chosen zip program (Make sure to not archive the folder containing the files, but the files themselves, so the file structure is <code>com.yourchosenapk.name.apk\different files and folders here</code>), rename from .zip to .apk.
 
# Open APK Signer Tool (v2)
 
# Fill out all fields in Keyfile Generator page. (Fill as you wish, these aren't important as long as they are filled).
 
# Click Align & Sign tab. Browse for the modded .apk
 
# Select key, and fill out appropriate fields
 
# Click Align and Sign
 
# Wait a few moments
 
# Move apk to device and install
 
  
==Audio Mods: How To==
+
__TOC__
{{Stub|section=true}}
+
 
# '''To Do''' something something obb, something something unxwb, something something spreadsheet, something something XWBTool from github, something something rename back to .xwb
+
==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>).
 +
# [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==
 +
===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?===
 +
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?===
 +
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:
 +
 
 +
<ol>
 +
<li>Try the latest version.</li>
 +
<li>From the Nexus mod page, click the ''Files'' tab to find all available versions.</li>
 +
<li>Check under "Main Files" and "Optional Files":
 +
# 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;
 +
#* ''or'' says it's for SMAPI 3.7.6 or earlier;
 +
#* ''or'' was uploaded before 21 December 2020.
 +
</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>
 +
</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
 +
  |prev = [[Modding:Player Guide/Getting Started|Getting Started]]
 +
  |next =
 +
}}
  
 
[[Category:Modding]]
 
[[Category:Modding]]
 +
 +
[[es:Modding:Instalar SMAPI en Android]]
 +
[[ru:Модификации:Установка SMAPI на Android]]
 +
[[zh:模组:在Android上安装SMAPI]]

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.