I have upgraded my MAUI project's .net version to .net 10 from .net 8 to resolve the 4KB memory warning from play store. After upgrade I have generated a new AAB file and change the extension to .zip from .aab. Then I extracted the .zip file and under the base\lib\arm64-v8a I found 16 .so files.
Name of files adding below:
- libarc.bin.so
- libassembly-store.so
- libdatastore_shared_counter.so
- libe_sqlite3.so
- libHarfBuzzSharp.so
- libimage_processing_util_jni.so
- libmono-component-marshal-ilgen.so
- libmonodroid.so
- libmonosgen-2.0.so
- libSkiaSharp.so
- libsurface_util_jni.so
- libSystem.Globalization.Native.so
- libSystem.IO.Compression.Native.so
- libSystem.Native.so
- libSystem.Security.Cryptography.Native.Android.so
- libxamarin-app.so
Is any of these cause the 16 KB memory page issue?
Below are the packages I am using in different projects:
.NET MAUI App:
<ItemGroup>
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="11.0.0" />
<PackageReference Include="Autofac" Version="9.1.0" />
<PackageReference Include="CommunityToolkit.Maui" Version="14.1.1" />
<PackageReference Include="FFImageLoading.Maui" Version="1.3.2" />
<PackageReference Include="Microsoft.Maui.Controls" Version="10.0.60" />
<PackageReference Include="Microsoft.Maui.Controls.Compatibility" Version="10.0.60" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="10.0.8" />
<PackageReference Include="NLog" Version="6.1.3" />
<PackageReference Include="NLog.Extensions.Logging" Version="6.1.3" />
<PackageReference Include="Plugin.Firebase" Version="4.2.1" />
<PackageReference Include="SkiaSharp" Version="3.119.2" />
<PackageReference Include="SkiaSharp.Views.Maui.Controls" Version="3.119.2" />
<PackageReference Include="ZXing.Net.Maui" Version="0.7.4" />
<PackageReference Include="ZXing.Net.Maui.Controls" Version="0.7.4" />
</ItemGroup>
.NET Class Library:
<ItemGroup>
<PackageReference Include="JsonApiSerializer" Version="2.0.1" />
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
<PackageReference Include="SkiaSharp" Version="3.119.2" />
<PackageReference Include="SkiaSharp.Views.Maui.Controls" Version="3.119.2" />
</ItemGroup>
.NET MAUI Class Library:
<ItemGroup>
<PackageReference Include="akavache" Version="10.0.28" />
<PackageReference Include="Autofac" Version="9.1.0" />
<PackageReference Include="CommunityToolkit.Maui" Version="14.1.1" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.2" />
<PackageReference Include="FFImageLoading.Maui" Version="1.3.2" />
<PackageReference Include="Humanizer" Version="3.0.10" />
<PackageReference Include="JsonApiSerializer" Version="2.0.1" />
<PackageReference Include="Microsoft.Maui.Controls" Version="10.0.60" />
<PackageReference Include="Microsoft.Maui.Controls.Compatibility" Version="10.0.60" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
<PackageReference Include="NLog" Version="6.1.3" />
<PackageReference Include="Plugin.Firebase" Version="4.2.1" />
<PackageReference Include="SkiaSharp" Version="3.119.2" />
<PackageReference Include="SkiaSharp.Views.Maui.Controls" Version="3.119.2" />
<PackageReference Include="ZXing.Net.Maui" Version="0.7.4" />
<PackageReference Include="ZXing.Net.Maui.Controls" Version="0.7.4" />
</ItemGroup>
Also when I rebuild the project in release mode I saw below message in output folder:
Android 16 will require 16 KB page sizes, shared library 'libe_sqlite3.so' does not have a 16 KB page size. Please inform the authors of the NuGet package 'SQLitePCLRaw.lib.e_sqlite3.android' version '2.1.9' which contains 'C:\Users\SreenivasanSr.nuget\packages\sqlitepclraw.lib.e_sqlite3.android\2.1.9\lib\net6.0-android31.0\SQLitePCLRaw.lib.e_sqlite3.android.aar'. See https://developer.android.com/guide/practices/page-sizes for more details.
Android 16 will require 16 KB page sizes, shared library 'libe_sqlite3.so' does not have a 16 KB page size. Please inform the authors of the NuGet package 'SQLitePCLRaw.lib.e_sqlite3.android' version '2.1.9' which contains 'C:\Users\SreenivasanSr.nuget\packages\sqlitepclraw.lib.e_sqlite3.android\2.1.9\lib\net6.0-android31.0\SQLitePCLRaw.lib.e_sqlite3.android.aar'. See https://developer.android.com/guide/practices/page-sizes for more details.
I am not using any SQLite package, but I am using akavache package, it has a transitive package named akavache.sqlite3. I am using the 10.1.6 version of it. There is a new version (12.0.12) available for this package. but when I install it I am getting below error: I tried to resolve it, but no luck. All the other packages are latest.
The type or namespace name 'BlobCache' does not exist in the namespace 'Akavache' (are you missing an assembly reference?)