Question
I'm working with a NuGet package (SkiaSharp) that contains multiple native runtime assets for different platforms:
- win7-x64
- win7-x86
- osx
- linux-x64
- linux-x86
- tizen-armel
- tizen-x86
When building and installing the app on Tizen devices/emulators, ALL runtime assets are included in the package, resulting in:
- Larger than necessary package size
- Inclusion of unsupported libraries
Expected behavior: The build process should only include relevant runtimes for Tizen (tizen-armel and possibly tizen-x86).
Answer
Problem Understanding
The issue occurs when building Tizen applications using NuGet packages containing multiple platform-specific native libraries. The build system currently includes all runtime assets regardless of platform compatibility, leading to bloated packages.
Solution Methods
-
Report the Issue:
- File a bug report on the Tizen bug tracker: Tizen Bug Tracker
- Follow the bug reporting guidelines: How to Report Bugs
-
Contribute to the Solution:
- The Tizen .NET build tools are open source
- Review and contribute to the codebase: Tizen Git Repository (look for Domain: Dotnet)
-
Alternative Approach:
- Consider creating a custom NuGet package that only includes Tizen-specific runtime assets
- Explore post-build scripts to remove unnecessary libraries before packaging
Additional Tips
- When reporting bugs, include:
- Detailed reproduction steps
- Package versions used
- Build environment information
- Monitor the issue status and update your implementation accordingly
- Consider testing with different Tizen versions as behavior might vary