我想使用create-react-app来构建一个Web应用程序,然后将其与Tizen打包在一起以制作适用于Samsung Smart-TV的应用程序。我如何建立这样的项目?要创建我的React-app的Tizen项目,我应该构建,打包或添加什么? 如果有人可以给我写一个循序渐进的指南,我将非常感谢。
我尝试在Tizen项目中创建一个react应用。没用我试图构建我的react应用程序并将构建目录复制到Tizen项目。没用我认为在config.xml中的react应用中指向index.html会产生一些结果。但不是。尝试将文件从react应用程序逐步添加到我的Tizen应用程序中。失败。
三星电视的发展似乎很难。救命。 我是耐火的和绝望的。谢谢。
答案 0 :(得分:3)
有点挑战,但您可以做到
请遵循以下说明:
先决条件
设置:
创建项目
config.xml
<?xml version="1.0" encoding="UTF-8"?>
<content src="index.html"/>
<feature name="http://tizen.org/feature/screen.size.normal.1080.1920"/>
<icon src="icon.png"/>
<name>Testing</name>
<tizen:profile name="tv-samsung"/>
<tizen:privilege name="http://developer.samsung.com/privilege/network.public"/>
<tizen:privilege name="http://tizen.org/privilege/application.launch"/>
<tizen:privilege name="http://tizen.org/privilege/tv.inputdevice"/>
<tizen:privilege name="http://tizen.org/privilege/tv.display"/>
<tizen:privilege name="http://tizen.org/privilege/fullscreen"/>
<tizen:privilege name="http://tizen.org/privilege/internet"/>
<tizen:privilege name="http://tizen.org/privilege/volume.set"/>
<tizen:privilege name="http://developer.samsung.com/privilege/drmplay"/>
<tizen:privilege name="http://developer.samsung.com/privilege/productinfo"/>
<tizen:setting pointing-device-support='disable' />
<tizen:setting screen-orientation="landscape" context-menu="disable" background-support="enable" encryption="disable" install-location="auto" hwkey-event="enable"/>
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0"
/>
<link rel="stylesheet" href="css/style.css" />
</head>
<body>
<script>
window.open("http://0.0.0.0:3000") <!-- Add your IP address ->
</script>
</body>
</html>
与REAL DEVICE配对
答案 1 :(得分:2)
Tizen Studio似乎对文件放置有点奇怪。尝试将config.xml
文件放在根目录下,但指向./build/index.html
的位置似乎使它感到困惑。
我这样做的方式是这样的:
homepage
内的package.json
键设置为./
,以使资产文件路径相对于index.html
而不是绝对路径生成。yarn build
(或npm run build
)以生成./build
文件夹。./build
文件夹。这需要展开“更多属性”,在其中输入项目名称,并取消选中默认位置(以便可以浏览到./build
文件夹)。您应该能够遵循Tizen文档进行与Tizen相关的所有其他事情。icon.png
,.settings
,.project
,config.xml
,.tproject
)复制到react的./public
文件夹中应用程序,以便在每次构建后复制它们。请注意,Tizen点文件不会在Tizen Studio中显示,您应该从将显示它们的文件浏览器中复制它们。在Tizen Studio中,仅此./build
文件夹将显示为项目的一部分,并且仅应用于运行build
/ debug
/ run
操作。对Tizen应用配置的任何更改等都应在react应用的./public
文件夹中进行,否则在每次构建后都会被覆盖。Tizen Studio/Web/Editor/Javascript Editor
中禁用验证器。启用此功能后,当在构建过程中验证最小化代码时,该构建就会阻塞。在旁注...为了使用遥控器导航,我使用了this component library。这是最容易实现的。
答案 2 :(得分:2)
您可以尝试https://renative.org/docs/platform-tizen
它会基于react native生成Hello World应用程序,其余的工作将为您完成
您还将获得: -重点管理 -生成的导航示例 -内置对字体,矢量图形的支持 -重新加载热模块以进行快速开发
完成安装设置后,您只需在模拟器中运行它即可。
rnv run -p tizen
或
rnv run -p tizen -d -t <TIZEN_TV_IP>
完成操作后,您可以查看./platformBuilds/..
文件夹以了解它们如何协同工作