Как собрать Tizen C # .NET Wearable TPK для платформы ARM и опубликовать на портале продавца Samsung?

Фон

Я пытаюсь опубликовать свое приложение Tizen Wearable .NET на портале продавца Samsung.

Я использую Visual Studio 2017 с обновленным плагином Tizen и могу успешно запустить свое приложение в режиме выпуска как на эмуляторе, так и на реальном устройстве (Gear Sport), используя сертификаты автора и дистрибьютора. Мое приложение ориентировано на Tizen 4.0.

Порталу продавца Samsung требуется бинарный выпуск, но он не дает подробных инструкций, поэтому я предполагаю, что для его получения я перестраиваю решение в режиме выпуска с правильной настройкой профиля сертификата. Полученный файл TPK находится в папке bin/Release.

Изучая двоичный архив TPK, я вижу все свои встроенные библиотеки DLL, ресурсы, манифест и т. Д.

Эта проблема

Как только я загружаю этот двоичный файл на портал продавца Samsung и отправляю его на проверку, он не проходит автоматическую предварительную проверку из-за следующей ошибки:

[Дефект] Приложение было собрано компилятором x86. X86 означает, что приложение запускается на эмуляторе Tizen, а не на реальной цели.

[Ожидаемый результат] Пожалуйста, настройте архитектуру для активации при создании приложения. Свойства проекта -> Сборка C / C ++ -> Настройки Tizen, и вы можете проверить архитектуру имени файла вашего приложения.

например org.example.app-1.0.0-arm.tpk например org.exapmple.ap-1.0.0-x86.tpk

[Ссылка] Как правило, архитектура платформы выбирается автоматически на основе тестовой среды. Если тестовое устройство подключено через USB, Tizen IDE автоматически выбирает архитектуру руки, но если эмулятор подключен к sdb, Tizen IDE автоматически выбирает архитектуру руки.

Инструкции здесь бесполезны, поскольку я использую Visual Studio и C # .NET, а не Tizen Studio или C ++.

К отклонению прилагается файл с именем gear_core_architecture.txt, содержимое которого просто:

Intel 80386 [libSkiaSharp.so]

Это проблемный файл? Если я просматриваю бинарный архив TPK выпуска, я обнаруживаю файл libSkiaSharp.so внутри папок bin/runtimes/linux-x86/native и bin/runtimes/tizen-armel/native. Я вообще не использую SkiaSharp в своем приложении, но мои пакеты nuget могут быть (Tizen.NET, Xamarin и т. Д.). Если посмотреть на проект Tizen-CSharp samples, образец проекта SkiaSharp также включает эти библиотеки в свой TPK.


Я искал везде в Visual Studio и не могу изменить тип платформы для любого решения или проекта на arm. Сейчас он строится только для Any CPU, x86 или x64. Я добавил компиляторы C ++ для ARM и ARM64 в Visual Studio из отдельных компонентов, но без изменений. Создание конфигурации сборки ARM вручную мне не позволяет.

TL;DR

Как создать приложение Tizen Wearable C # .NET для платформы ARM в Visual Studio 2017 для публикации на портале продавца Samsung?


person Cord Rehn    schedule 28.09.2019    source источник


Ответы (1)


Задав тот же вопрос на форуме поддержки Tizen, вы получите следующее решение, ответив здесь для справок в будущем, если кто-то еще столкнется с этим.

Ссылка: https://developer.tizen.org/forums/tizen-.net/unable-publish-c-tizen-.net-wearable-tpk-seller-portal


Папка linux-x86 в результирующем TPK отключила автоматическую систему отклонения на портале продавца Samsung.

Решение заключалось в добавлении следующей строки в вашу группу свойств в файле * .csproj для вашего проекта Wearable, поэтому сгенерирован только tizen-armel.

<RuntimeIdentifier>tizen-armel</RuntimeIdentifier>

Пример:

<PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>tizen40</TargetFramework>
    <RuntimeIdentifier>tizen-armel</RuntimeIdentifier>
</PropertyGroup>

Что касается того, что включало libSkiaSharp.so, это был пакет Xamarin.FFImageLoading.Svg.Forms.

person Cord Rehn    schedule 01.10.2019