Novolis.IO.Platform.Android
2026.1.1.50
See the version list below for details.
dotnet add package Novolis.IO.Platform.Android --version 2026.1.1.50
NuGet\Install-Package Novolis.IO.Platform.Android -Version 2026.1.1.50
<PackageReference Include="Novolis.IO.Platform.Android" Version="2026.1.1.50" />
<PackageVersion Include="Novolis.IO.Platform.Android" Version="2026.1.1.50" />
<PackageReference Include="Novolis.IO.Platform.Android" />
paket add Novolis.IO.Platform.Android --version 2026.1.1.50
#r "nuget: Novolis.IO.Platform.Android, 2026.1.1.50"
#:package Novolis.IO.Platform.Android@2026.1.1.50
#addin nuget:?package=Novolis.IO.Platform.Android&version=2026.1.1.50
#tool nuget:?package=Novolis.IO.Platform.Android&version=2026.1.1.50
Novolis.IO.Platform.Android
On-device Android directories for Novolis apps. This is not the host-side ADB package (Novolis.IO.Mobile.Android).
AndroidAppStorage.Open(product) creates the default root and a workspace folder under it.
Default location
Documents/Novolis/{product}when the app can create a normal directory there. That folder shows in the phone Files app, andadb pullreads it withoutrun-as. Creation follows scoped storage: a direct write when the platform allows it, otherwise a MediaStore file inDocuments/Novolis/{product}so the app owns the tree. No storage permission and no all-files access.- App-specific external files
Android/data/<package>/files/Novolis/{product}when shared Documents is not a normal writable directory. This needs no storage permission and is removed on uninstall. Debug builds can list it withadb shell run-as <package>. - Internal files only when external storage is not mounted.
Existing trees under the old internal files/{product} directory are moved onto the new root when the new root is still empty.
Logcat on a debug build prints the resolved path and the matching adb command.
Install
dotnet add package Novolis.IO.Platform.Android
Requires net10.0-android.
Quick start
using Novolis.IO.Platform.Android;
var paths = AndroidAppStorage.Open("BooksMobile");
Directory.CreateDirectory(paths.WorkspaceDirectory);
File.WriteAllText(Path.Combine(paths.RootDirectory, "note.txt"), "hello");
// Documents: adb pull "/storage/emulated/0/Documents/Novolis/BooksMobile"
// App files: adb shell run-as <applicationId> ls "<paths.RootDirectory>"
Console.WriteLine(AndroidStorageLayout.DescribeForAdb(paths));
Avalonia Android hosts pick this up through AddNovolisMobileAndroid(productName).
API
| Surface | Role |
|---|---|
AndroidAppStorage.Open |
Creates the default root, workspace, and cache directory |
AndroidAppStorage.DefaultRoot |
Product root path |
AndroidAppLocations.Kind |
SharedDocuments, AppExternal, or Internal |
AndroidStorageLayout.DescribeForAdb |
adb pull or adb shell run-as for the resolved root |
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-android36.0 is compatible. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
-
net10.0-android36.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Novolis.IO.Platform.Android:
| Package | Downloads |
|---|---|
|
Novolis.Avalonia.Mobile.Android
Android implementations of Novolis.Avalonia.Mobile (EncryptedSharedPreferences, Documents/Novolis app storage, Custom Tabs). |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.1.1.52 | 0 | 10/4/2026 |
| 2026.1.1.51 | 32 | 10/3/2026 |
| 2026.1.1.50 | 36 | 10/3/2026 |
| 2026.1.1.49 | 42 | 10/2/2026 |
| 2026.1.1.48 | 39 | 10/2/2026 |
| 2026.1.1.47 | 42 | 10/2/2026 |
| 2026.1.1.46 | 34 | 10/2/2026 |
| 2026.1.1.45 | 40 | 10/2/2026 |
| 2026.1.1.36 | 38 | 10/2/2026 |