43

問題:

Samsung SmartTV SDK 2.5を使用して概念実証アプリを作成してみたいと思います(2011年モデルのテレビ-UA55D8000を使用しています)。

残念ながら、SDKには2種類あり、MicrosoftWindowsでのみ機能するようです。テレビ自体がLinuxを実行し、アプリケーションがJavaScriptで記述されているため、そうあるべき理由がないため、奇妙です。

これには2つの問題があります。

  1. 自宅にMicrosoftWindowsがないため、SDKに付属のビルド環境(またはTVエミュレーター)を使用できません。(SDKファイル自体は単なるJavaScriptです)

  2. Windowsにアクセスできたとしても、従来のビルドツール(Make、Ant、Autotoolsなど)にアクセスせずにアプリのビルドとテストを自動化することは非常に困難です。

LinuxでSamsungSmartTVアプリケーションを構築するにはどうすればよいですか?(つまり、SDKに付属しているWindowsベースのビルドツールを使用せずに)


私がこれまでに理解したこと:

私が収集できることから、JavaScriptモードのアプリケーションは、XML構成ファイル、1つ以上のJavaScriptファイル(プラットフォームSDK関数用に提供されたJavaScriptインターフェイスライブラリを含む)、および必要なアセット(HTML、画像など)を含む単純なzipファイルです。

また、私が収集したものから、展開には、テレビにアクセス可能なWebサーバーネットワークにzipファイルとXMLマニフェストファイルを配置し、テレビで「開発」としてログインし、アプリケーションをテレビにインストールされているアプリケーションに「同期」することが含まれます。テレビ。


誰かが私に完全な展開要件とアプリバンドル要件のソースを教えてもらえますか?それとも、実際のサンプルですか?

4

6 に答える 6

60

私は自分の Ubuntu マシンで開発環境をセットアップすることにかなりの成功を収めました。同じことをしようとしている人のために、ここで私の方法を共有したいと思います。この回答はプラットフォームに依存しないことを意図しているため、同じアドバイスが本格的なオペレーティングシステムでも機能するはずです。

序章

まず、アプリの構造に関する質問の前提は正しいです。JavaScript アプリケーションは、次の項目で構成されます。

  • config.xml、さまざまな設定と展開情報を定義する単純な構成ファイル。公式開発者サイトの「config.xml ファイルの記述」を参照してください。
  • widget.infoは、アプリケーションの本体の不透明度を定義するために使用される数行の非常に小さなファイルです。これは、フルスクリーン アプリケーションでは必要ない場合があります。
  • アプリケーションのメイン HTML ファイルであるindex.html 。
  • 画像、音声、その他のリソース

これらのファイルは、お気に入りのエディターを使用して作成できます。私はJS と CSS のリンティング プラグインで vimを喜んで使用しています。

テスト

SDK のバージョン 4.0 の時点で、エミュレーターの Linux バージョンが利用可能になりました。これにより、2011 ~ 2013 年の TV に表示されるアプリをテストできます。古いテレビの場合、Wine で SDK 1.5 のエミュレーターを実行できますが、SDK 2.0 以降に属するエミュレーターは実行されません

Windows 仮想マシンでエミュレーターを実行すること可能であり、ちょっとしたトリックで、エミュレーターが独自のアプリケーション フォルダーを使用してアプリを検索するようにすることができます。これには、開発フォルダーを仮想マシンと共有し、それらのフォルダーへのシンボリック リンクを作成して、SDK のインストール ディレクトリ内の "apps" フォルダーを置き換えることが含まれます。このプロセスの簡単な概要は、記事「Windows IDE がうまくいきませんか? 」に記載されています。Mac のお気に入りのエディターに置き換えてください。

展開

Samsung Smart TV には開発者アカウントが組み込まれているため、コンピューターからアプリケーションを送信して、テレビ自体でライブ テストを行うことができます。展開サーバーの IP アドレスを入力すると、TV はそのサーバーでwidgetlist.xmlというファイルを探します。フォーマットの例は次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<rsp stat="ok">
  <list>
    <widget id="MyTVApp">
      <title>MyTVApp</title>
      <compression size="3383543" type="zip"/>
      <description>A basic application for Samsung TVs</description>
      <download>http://192.168.1.83/Widget/MyTVApp_0.1_America_20120709.zip</download>
    </widget>
  </list>
</rsp>

その後、<download>タグ内の URL を使用してリストされた各アプリをダウンロードします。ファイルを圧縮し、それに応じてwidgetlist.xmlを変更し、両方のファイルがマシンで実行されている Web サーバーでホストされていることを確認するだけです。Apache、lighttpd、または何でも使用できます。deployというラベルの付いたディレクトリにある zip ファイルに基づいて、 widgetlist.xmlを動的に構築する小さな node.js/connect アプリがあります。

それで、あなたはそれを持っています。Samsung Smart TV アプリの開発は、Windows なしでは不可能ではありません。実際、利用可能なオプションはかなりあります。万歳!

于 2012-12-12T13:33:18.410 に答える
8

LinuxおよびMacOSXのサポートを含むSmartTVSDK 4.0がリリースされました:http://www.samsungdforum.com/SamsungDForum/NewsView?newsID = 27

「EclipseベースのAppEditorに加えて、新しいLinuxベースのエミュレーターがリリースされました。
このエミュレーターは、VirtualBox仮想化ツールで実行されるUbuntu仮想マシンで実行されます。」

■Linux上の2013プラットフォームの機能(最初のリリース)

  • アプリフレームワーク
  • App Engine / WebKit
  • UniPlayer
  • SEF(サービス拡張フレームワーク)

Samsung Dフォーラムに登録する必要があります。その後、https: //www.samsungdforum.com/Devtools/SdkDownloadからSDKをダウンロードできます。

于 2013-01-16T15:32:17.137 に答える
4

私は何も知らないトピックに対してこの回答を作成しましたが、それにもかかわらず、私の方向に赤い旗を投げたものを見つけました...かどうか。

まず、WineHQ バグ レポートを調べて、この問題が解決したかどうかを確認しましたが、この記事の執筆時点ではまだ保留中です。バグ レポートに、クリックしてフォローしたディスカッションへの参照リンクがあることに気付きました。

その議論を見ると、有益machine-code generated dump-errorであることがわかりました。

参照:

Z:\home\andy.wine\drive_c\Program Files (x86)\Samsung\Samsung TV SDK(3.5.2)\Emulator\Emulator2012_v3.5\bin\Emulator2.exe

上記Pathは、ダンプの原因となったファイルの場所です。そのパスは、私が言及した危険信号です。

少しバックアップして、私が学んだことWindows XP SP3、およびIE8ここで非常によく当てはまる可能性があることについて説明させてください。または、太字の行までスキップすることもできます.

というライトボックス プラグインを使用する Web ページ プロジェクトに取り組みましたShadowboxそのプロジェクトは、サブフォルダーのサブフォルダーにあるだけで、ローカル サーバー上にはありませんでした。Firefox と Chrome では正常に動作しますが、IE が停止し、プラグイン スタイル シートからCSS をレンダリングしませんでした。私は Shadowbox に精通していたので、これはプラグインではないと 100% 確信していました。それで私は既成概念にとらわれずに考え始め、試練と苦難を経て、犯人は実際の道であることに気づきました!

で使用するプロジェクト用のサブフォルダーを作成しましたが、それが壊れたものです。かっこを削除すると、CSS が正しく読み込まれました。これと同じ解決策が、 を使用したフォーラム メンバーの CSS 問題の原因でもあったため、これらの問題は Wine にもあると考えられます/test(v1)/PathIE8Vista and IE9

それは何の問題ですか?パス名に不正な文字(括弧) が使用されています。index.htmlURL 名は、ファイルへのファイル パスであるため(コーディングでは相対パスのみが使用され、括弧はエスケープできず、base タグは失敗しました)という理由だけで、短く停止して URL 名を言います。

Firefox と Chrome は寛容でしたが、IE はそうではありませんでした。IE を使用していない場合でも、この問題がそれ以外に及ぶ可能性があります。

私の解決策は、ファイルパスのどの部分でも使用しparenthesesないことです。whitespacesこれはこの特定のバグを解決しないかもしれませんが、少なくともサンドボックスの Wine の問題は、それfile pathURL path何らかの要件 (ビデオ プレーヤーとして使用される SWF オブジェクトへのアクセスなど) になる場合には発生しません。IE ブラウザが厳しいのであれば、他の組み込みブラウザやプログラミング モジュールも同様です。

おすすめされた:

Z:\home\andy.wine\drive_c\Samsung\Samsung_TV SDK_3.5.2\Emulator\Emulator2012_v3.5\bin\Emulator2.exe

Program Files (x86)OS 要件ごとに変更できないため、上記ではフォルダーを使用していないことに注意してください。このようなパスを使用すると、予期しないエラーを完全になくすことはできませんが、確実に減らすことができます。乾杯!

于 2012-12-22T11:59:03.323 に答える