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

From Stardew Valley Wiki
Jump to navigation Jump to search
 
(62 intermediate revisions by 14 users not shown)
Line 1: Line 1:
← [[Modding:Index]]
+
{{modding player guide header}}
  
This page explains how to use mods on Android. Modding on Android is trickier than PC; you can't use SMAPI mods yet and they're more complex to install.
+
This page explains how to install SMAPI (the tool which lets you use mods) on Android.
  
For help with mods on Linux/Mac/Windows, see the [https://stardewvalleywiki.com/Modding:Player_Guide player's guide to mods].
+
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]].
  
==Obtain the APK==
+
__TOC__
The game is stored on your phone in an ''Android Package'' file with an <tt>.apk</tt> extension. Downloading the APK from third-party websites isn't recommended, since it'll often be outdated or contain malware.
 
  
There are two ways to access the APK file:
+
==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.
  
* If you have [https://www.androidcentral.com/root root access], it's located at <tt>/data/app/com.chucklefish.stardewvalley-1/base.apk</tt>.
+
An incomplete list of working/non-working Android mods can be found [https://android.stardew.rocks here].
* Otherwise install [https://play.google.com/store/apps/details?id=com.ext.ui APK Extractor] and run it. The APK will be extracted to <tt>ExtractedApks/Stardew Valley_com.chucklefish.stardewvalley.apk</tt> on your device.
+
</div>
  
==SMAPI / Content Patcher mods==
+
'''Note: Because Android SMAPI is still in its testing phases, even the latest release may not work for everyone'''
These aren't available on Android yet. See [https://github.com/Pathoschild/SMAPI/issues/632 ''SMAPI on other platforms''] for more info.
 
  
==XNB mods==
 
===Option A: MT Manager app on your phone===
 
# Copy the XNB files you want to install into a new folder on your device.
 
# Install and open [https://play.google.com/store/apps/details?id=bin.mt.plus MT Manager] on your phone.
 
# On the left side of the screen:
 
## Find [[#Obtain the APK|the Stardew Valley APK]].
 
## Tap it.
 
## Select 'view'. This should open a folder containing the game's asset files.
 
# On the right side of the screen:
 
## Find the folder containing XNB mods (from step 1).
 
## Make sure the corresponding folder is open on the left side of the screen (e.g. the <tt>Portraits</tt> folder if you're installing portrait mods).
 
## Select the files to copy. (To select all, tap the '''<tt>⋮</tt>''' menu and choose 'select all'.)
 
## Long tap the selected files, and choose the copy option.
 
## A menu should appear. Change the 'level' option to Storage, and the 'update mode' to Replace All. Tap OK to copy the files.
 
# On the left side of the screen:
 
## Return to the folder containing the <tt>.apk</tt> file.
 
## Tap on the Stardew Valley APK file, choose 'Function', then 'APK Sign'.
 
## Tap the '''new''' APK file that generates and choose 'Install'.
 
  
===Option B: Android Studio on your computer===
+
# Download the {{github|ZaneYork/SMAPI-Android-Installer/releases|latest installer APK file}} (the file under "Assets" that ends with <samp>.apk</samp>).
# Install an unzip program like [https://www.7-zip.org/download.html 7-zip].
+
# [https://www.greenbot.com/article/2452614/how-to-sideload-an-app-onto-your-android-phone-or-tablet.html Install the APK on your phone].
# Install JDK 8.
+
# 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).
# Install Android Studio (make sure to install build-tools).
+
# When it's done, you can safely uninstall the installer app.
# Install APK Signer Tool (v2).
 
# Unzip [[#Obtain the APK|the Stardew Valley APK]] to your computer.
 
# Replace the vanilla XNBs (found in <tt>./assets/Content/</tt>) with the modded XNBs.
 
# Re-zip the contents of the Stardew Valley APK. Make sure not to include the container folder.
 
# Change the file extension from <tt>.zip</tt> to <tt>.apk</tt>.
 
# Open APK Signer Tool (v2).
 
# Fill out all fields on the Keyfile Generator page (doesn't matter what you enter).
 
# On the Align & Sign tab, select the modded APK file.
 
# Select key and fill out the appropriate fields.
 
# Click Align and Sign.
 
# Wait a few moments.
 
# Move the APK to the device and install.
 
  
==Audio mods==
+
That's it! Just launch the game to play with mods.
# Download [https://github.com/mariodon/unxwb/releases unxwb] and [https://github.com/Microsoft/DirectXTK/releases XWBTool].
 
# Unzip both to your working directory.
 
# Copy the <tt>.obb</tt> file from your phone's internal storage (located at <tt>Internal Storage/Android/obb/main.2.com.chucklefish.stardewvalley.obb</tt>) to your working directory.
 
# Run this command to unpack the file: <pre>unxwb main.2.com.chucklefish.stardewvalley.obb</pre> That will output 87 with names like <tt>00000000.wav</tt>.
 
# Move the unpacked <tt>.wav</tt> files to a separate folder to keep things organised.
 
# Replace any of the audio files as desired (but the names must remain the same).
 
# Run this command to repack the file (replacing <tt>folderPath</tt> with the full path to the folder containing the <tt>.wav</tt> files): <pre>XWBTool "folderPath/*.wav" -o Music.xwb</pre> Note that the output file ''must'' be called <tt>Music.xwb</tt> when repacking.
 
# Rename <tt>Music.xwb</tt> to <tt>main.2.com.chucklefish.stardewvalley.obb</tt>.
 
# Move the modified <tt>.obb</tt> file back to your phone's internal storage (at <tt>Internal Storage/Android/obb/main.2.com.chucklefish.stardewvalley.obb</tt>).
 
# Enjoy your modified music!
 
  
Here's [https://docs.google.com/spreadsheets/d/1K3S8YDS4Tfe_LPtyXA9LaVM8edxvDFkwfNl-ql1kFGM a spreadsheet of unpacked <tt>.wav</tt> file names].
+
==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.