readme/api/references/mobile_plugin_debugging.md
Plugins can be installed from .jpl files in the web build of the mobile app. This can help with mobile plugin development in a few ways:
.jpl file to an Android device after every change.To install a custom plugin on web,
npm run dist from the plugin's directory).publish/ folder..jpl file.Your plugin should now be loaded!
:::note
If you encounter an "incompatible with Joplin mobile" error, be sure that "platforms": ["mobile", "desktop"] is included in your plugin's manifest.json (documentation).
:::
After loading, plugins are run in an <iframe> with an about:srcdoc URL. To view the plugin's console output and interact with global plugin variables (e.g. joplin.commands),
about:srcdoc.debug and other console utility function may be helpful.In some browsers, the web version of the mobile app supports development plugins. Development plugins automatically reload when changed on disk. Non-development plugins must be re-installed when changed.
To add a development plugin:
showOpenFilePicker. As of early 2025, only Chrome and several Chromium-based browsers support this API.publish, dist, and src folders for the plugin.Note: Markdown editor plugins may not fully reload unless either the page is reloaded or the Markdown editor is closed and re-opened.
On mobile, all plugins run in iframes within a WebView.
On Android, it's possible to inspect this WebView with Google Chrome's development tools. To do this,
By default, messages logged with console.info, console.warn, and console.error are added to Joplin's logs. To view these logs,
If Joplin is running in development mode, messages logged with console.log are also added to Joplin's logs.