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

From Stardew Valley Wiki
Jump to navigation Jump to search
(update intro)
 
(58 intermediate revisions by 13 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 a bit trickier than PC.
+
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]].
  
==SMAPI mods & content packs==
+
__TOC__
These are available using unofficial versions of SMAPI. See [https://github.com/Pathoschild/SMAPI/issues/632 ''SMAPI on other platforms''] for more info.
 
  
==XNB mods==
+
==Install==
[[Modding:Using XNB mods|XNB mods aren't recommended]] and often break when the game updates. If you're sure you want to use them, here's how.
+
<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.
  
===Obtain the APK===
+
An incomplete list of working/non-working Android mods can be found [https://android.stardew.rocks here].
First you'll need the APK (''Android Package'') file for your game, which contains the game files. Downloading the APK from third-party websites isn't recommended, since it'll often be outdated or contain malware.
+
</div>
  
There are two ways to access the APK file:
+
'''Note: Because Android SMAPI is still in its testing phases, even the latest release may not work for everyone'''
  
* If you have [https://www.androidcentral.com/root root access], it's located at <tt>/data/app/com.chucklefish.stardewvalley-1/base.apk</tt>.
 
* 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.
 
  
===Install an XNB mod===
+
# Download the {{github|ZaneYork/SMAPI-Android-Installer/releases|latest installer APK file}} (the file under "Assets" that ends with <samp>.apk</samp>).
; Option A&#58; MT Manager app 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].
 +
# 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.
  
:# Copy the XNB files you want to install into a new folder on your device.
+
That's it! Just launch the game to play with mods.
:# 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&#58; Android Studio on your computer
+
==Update==
 +
Just follow the [[#Install|install steps]] again; the installer will automatically clean up previous versions.
  
:# Install an unzip program like [https://www.7-zip.org/download.html 7-zip].
+
==Uninstall==
:# Install JDK 8.
+
# Uninstall the SMAPI Stardew Valley app.
:# Install Android Studio (make sure to install build-tools).
+
# Uninstall the SMAPI installer.
:# Install APK Signer Tool (v2).
+
# Manually delete the <samp>smapi-internal</samp> folder from the <samp>StardewValley</samp> game folder.
:# 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.
 
  
===Install an audio mod===
+
==FAQs==
# Download [https://github.com/mariodon/unxwb/releases unxwb] and [https://github.com/Microsoft/DirectXTK/releases XWBTool].
+
===How do I add and use mods?===
# Unzip both to your working directory.
+
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.
# 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 should output 87 files 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].
+
===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.