1

背景

我正在尝试将我的 Tizen Wearable .NET 应用程序发布到三星卖家门户。

我正在使用 Visual Studio 2017,Tizen 插件是最新的,并且可以使用我的作者和分销商证书在模拟器和真实设备(Gear Sport)上以发布模式成功运行我的应用程序。我的应用程序面向 Tizen 4.0。

三星卖家门户需要发布二进制文件,但没有给出太多说明,所以我假设要得到这个,我正在使用证书配置文件设置正确地在发布模式下重建解决方案。结果 TPK 文件位于bin/Release文件夹中。

检查 TPK 二进制存档,我看到了所有构建的 DLL、资源、清单等。

问题

一旦我将此二进制文件上传到三星卖家门户并提交以供审核,由于以下错误,它无法通过自动预审核:

[缺陷] 应用程序是由 x86 编译器构建的。X86 意味着应用程序在 Tizen 模拟器上运行,而不是真正的目标。

[预期结果] 请在构建应用程序时将架构配置为武装。项目属性 -> C/C++ 构建 -> Tizen 设置,您可以检查应用程序文件名的体系结构。

例如 org.example.app-1.0.0-arm.tpk 例如 org.example.ap-1.0.0-x86.tpk

[参考] 一般来说,平台架构是根据测试环境自动选择的。如果测试设备通过 USB 连接,Tizen IDE 会自动选择 arm 架构,但如果仿真器连接到 sdb,Tizen IDE 会自动选择 arm 架构。

这里的说明没有用,因为我使用的是 Visual Studio 和 C# .NET,而不是 Tizen Studio 或 C++。

拒绝附件是一个名为的文件gear_core_architecture.txt,其内容很简单:

英特尔 80386[libSkiaSharp.so]

这是有问题的文件吗?如果我检查发布二进制 TPK 存档,我会libSkiaSharp.sobin/runtimes/linux-x86/nativeandbin/runtimes/tizen-armel/native文件夹中找到该文件。我根本没有SkiaSharp在我的应用程序中使用,但我的 nuget 包可能是(Tizen.NET、Xamarin 等)。查看Tizen-CSharp示例项目,SkiaSharp 项目示例还在其 TPK 中包含这些库。


我在 Visual Studio 中到处查看,无法将任何解决方案或项目的平台类型更改为arm. 现在它只为Any CPUx86或构建x64。我已将 ARM 和 ARM64 的 C++ 编译器从各个组件添加到 Visual Studio,但没有任何变化。手动创建ARM构建配置不会让我这样做。

TL;博士

如何在 Visual Studio 2017 中为 ARM 平台构建 Tizen Wearable C# .NET 应用程序以发布到三星卖家门户?

4

1 回答 1

3

在 Tizen 支持论坛上提出相同的问题会导致以下解决方案,如果其他人遇到此问题,请在此处回答以供将来参考。

参考: https ://developer.tizen.org/forums/tizen-.net/unable-publish-c-tizen-.net-wearable-tpk-seller-portal


结果 TPK 中的linux-x86文件夹触发了三星卖家门户中的自动拒绝系统。

解决方案是将以下行添加到您的可穿戴项目的 *.csproj 文件中的属性组中,因此tizen-armel仅生成了一行。

<RuntimeIdentifier>tizen-armel</RuntimeIdentifier>

例子:

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

至于包括什么libSkiaSharp.so,那就是包裹 Xamarin.FFImageLoading.Svg.Forms

于 2019-10-01T22:04:18.153 回答