File size: 1,038 Bytes
cf7be65 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # tool-neuron-plugins
Public catalog of plugin bundles consumed by the ToolNeuron Android app.
The app reads `plugins.json` from this repo on every refresh and lists the
plugins it advertises. When the user installs a plugin, the app downloads the
zip at `download`, verifies `sha256`, extracts it into the plugin store, and
deletes the zip.
## Layout
```
plugins.json
plugins/<id>/<version>/<name>.zip
```
Each zip contains:
- `manifest.json` — id, version, apiVersion, entryClass, capabilities, hasNativeCode
- `classes*.dex` — plugin code (multidex supported)
- `lib/<abi>/*.so` — optional native libraries (only when `hasNativeCode: true`)
## Adding a plugin
1. Build the plugin module (`./gradlew :plugins:<name>:packagePlugin`)
2. Drop the zip under `plugins/<id>/<version>/`
3. Add an entry to `plugins.json` with `size` and `sha256`
4. `hf upload Void2377/tool-neuron-plugins . .`
The schema versions itself via `schemaVersion`; the app refuses to parse
catalogs whose `schemaVersion` is newer than it understands.
|