Setup
Start here before choosing a build track. The fastest workshop progress comes from proving your Android run loop early.
Setup checklist
Section titled “Setup checklist”- Baseline tools
- Install Android Studio or an Android SDK.
- Install Git.
- Install Node.js if you are building with JavaScript or TypeScript.
- Install your framework toolchain.
- Android run loop
- Run
adb version. - Create or start an Android emulator.
- Run
adb devicesand confirm a device or emulator appears.
- Run
- Wallet test loop
- Install
mock-mwa-walletor another MWA-compatible wallet. - Open your app on Android.
- Connect a wallet and show the selected account.
- Install
Baseline tools
Section titled “Baseline tools”- Android Studio or an Android SDK install.
- Git.
- Node.js if you are building with JavaScript or TypeScript.
- Your framework toolchain: Expo, React Native, Kotlin, Flutter, Unity, Unreal, or your PWA stack.
Android check
Section titled “Android check”adb devicesYou should see a connected device or emulator. If nothing appears, check USB debugging, emulator status, or Android Studio device manager.
Expo starter option
Section titled “Expo starter option”The official Solana Mobile Expo template is the fastest path if you want React Native and Mobile Wallet Adapter in one project.
yarn create expo-app --template @solana-mobile/solana-mobile-expo-template seeker-week-democd seeker-week-demoyarn androidExpo Go is not enough for Mobile Wallet Adapter native modules. Use a custom development build or expo run:android.
Web or PWA option
Section titled “Web or PWA option”If your project is a web app, keep the Android path explicit. Mobile Wallet Adapter works for compatible Android Chrome web apps, and dApp Store publishing requires wrapping the PWA into an APK.
npm create vite@latest seeker-week-pwa -- --template react-tscd seeker-week-pwanpm installnpm run devWallet test
Section titled “Wallet test”Install an MWA-compatible wallet on the same Android device or emulator. For the workshop, the first target is simple: open your app, connect a wallet, and show the selected account.
type WalletCheck = { accountVisible: boolean; appIdentityShown: boolean; device: "android"; network: "devnet" | "mainnet-beta";};Workshop site editing
Section titled “Workshop site editing”This workshop site is built with Astro and Starlight. To add a page:
- Create a Markdown file in
src/content/docs/. - Add the page to the
sidebarlist inastro.config.mjs. - Push or merge into
mainto deploy through GitHub Actions.