Languages

Menu
Sites
Language
Can't find installed app.

Hi,

 

I'm trying to test a Tizen .NET app (4.0 target) on a real TV, whose capabilities are as follow:

 

C:\tizen-studio\tools>sdb capability
secure_protocol:enabled
intershell_support:disabled
filesync_support:push
usbproto_support:disabled
sockproto_support:enabled
syncwinsz_support:enabled
sdbd_rootperm:disabled
rootonoff_support:disabled
encryption_support:disabled
zone_support:disabled
multiuser_support:enabled
cpu_arch:armv7
sdk_toolpath:/home/owner/share/tmp/sdk_tools
profile_name:tv
vendor_name:Samsung
can_launch:tv-samsung
device_name:Tizen
platform_version:4.0
product_version:4.0
sdbd_version:2.2.31
sdbd_plugin_version:3.4.1_TV_REL
sdbd_cap_version:1.0
log_enable:disabled
log_path:/tmp
appcmd_support:disabled
appid2pid_support:enabled
pkgcmd_debugmode:enabled

 

The app builds, and is packaged, and seems to be installed just fine:

 

C:\tizen-studio\tools>sdb install C:\Users\boting\Desktop\org.tizen.example.VizzioTizenTest.TV-1.0.0.tpk
WARNING: Your data are to be sent over an unencrypted connection and could be read by others.
pushed org.tizen.example.VizzioTizenTest.TV-1.0.0.tpk   100%         11MB        6528KB/s
1 file(s) pushed. 0 file(s) skipped.
C:\Users\boting\Desktop\org.tizen.example.VizzioTizenTest.TV-1.0.0.tpk   5514KB/s (11764474 bytes in 2.083s)
path is /home/owner/share/tmp/sdk_tools/org.tizen.example.VizzioTizenTest.TV-1.0.0.tpk
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[start] val[update]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[8]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[10]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[13]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[16]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[18]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[21]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[24]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[27]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[29]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[32]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[35]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[37]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[40]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[43]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[45]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[48]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[51]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[54]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[56]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[59]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[62]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[64]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[67]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[70]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[72]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[75]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[78]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[81]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[83]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[86]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[89]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[91]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[94]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[97]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[install_percent] val[100]
__return_cb req_id[1] pkg_type[tpk] pkgid[org.tizen.example.VizzioTizenTest.TV] key[end] val[ok]
spend time for pkgcmd is [25175]ms

 

After this is done, the app is nowhere to be found in the smart hub, in the apps screen, or pretty much anywhere. I'm aware that I can use sdb shell launch_app to launch it from the CLI, however, sdb shell is blocked in the device.

 

Can anyone give me any pointers on how to find and launch the app, or otherwise unlock sdb shell in this device?

 

Thanks in advance.

Edited by: Carlos Calvo on 19 Aug, 2019

Responses

4 Replies
Tizen .NET

Hi, 

You can find and run your app using below commands from the CLI.

// show all installed app in TV
$ sdb shell 0 applist

// launch an app
$ sdb shell 0 execute APP_ID

Could you try using this?

Carlos Calvo

Hi,

 

Those commands in fact allowed me to find the app and run it, but I still face the same problem. If I install through sdb install, the process finishes alright but the app is nowhere to be found on the apps panel.

 

I managed to solve it by using the tizen.bat script to install it instead (which is nowhere to be mentioned), by which the app shows in the TV. However, I'm still facing a new problem. When I run the app, it immediately closes (suspecting a crash), however, on the emulator it runs alright.

 

Yet I still can't get any logs, whether from emulator or real TV, because sdb dlog and sdb shell always return 'closed', since they are locked, which brings me to my second question, which is whether there is a way to unlock those on the TV.

 

Thanks

Jay Cho

Hello, sorry to hear that you are facing issues,

- First, as far as I know, it's their policy not showing the test application on the apps panel on Tizen 4.0 Smart TV.

- To unlock sdb on emulator (not on product target), you would need to have a partnership status.

- Actuallly, it is pretty tough to find the crashing reason on the TV target device, but if it is ok on emulator, it could be something related to the security policy.

  For example, you can't use PInvoke, DllImport, or one of the library your application is referring to has conflict with some system dlls in the target.

Hope my answer helps.

 

Geraldo Nascimento

Hi Carlos,

I developed a reasonably complex yet functional and sort of bug free app that scrapes Bandcamp for artists discography, normal search or hashtag search.

It plays the songs it finds with beautiful DALi visualizations (Tizen.NUI), showing basic info it scraped including track name, track number, album name, artist name, album cover image and even lyrics.

For now you can skip from one song to another and skip inside the song (fast-forward/reverse).

I developed the app directly in the TV using sdb install and sdb shell 0 execute cycles.

 

Now for your second question: It's not possible to enable logging on these TVs without having a partnership status (contract) with Samsung.

What is possible instead is to debug the apps using try / catch blocks in C# and redirecting the Exception to a TCP socket.

On your developer machine you use netcat to listen to the messages and you sort of have a way to debug what's happening.

Since .NET / C# has its own runtime 99% of your bugs go away using this approach.

 

The first question now: Yes, I can confirm it is possible to install these apps in a persistent / permanent form and have them appear in the APPS section and Smart Hub.

You don't even have to use tizen.bat. You can use dotnet tizen install.

My app creates two types of visualizations, oscilloscope and FFT based NOVA.

 

Each visualization requires 4096 ColorVisual's to a grand total of 8192 objects and 116.000 lines so far.

Evidently this crashed Visual Studio often so I had to use vim with manual syntax turned on and a redrawtime of 20000 milliseconds.

Suddenly dotnet tizen build became my new best friend.

 

In my case the app started and once it would start scraping it crashed. I pinned it down to a ERROR: Native images generated against multiple versions of assembly System.Buffers and other "multiple versions of assembly" errors. Basically any DLL on your tpkroot trying to override a System one will create this error.

 

My dependencies initially were:

  1. dotnet add package System.Text.Json --version 4.7.2

  2. dotnet add package Jurassic --version 3.0.0

  3. dotnet add package HtmlAgilityPack --version 1.11.23

  4. dotnet add package NAudio --version 1.10.0

  5. dotnet add package NLayer --version 1.13.0

  6. dotnet add package Accord.Audio --version 3.8.0

  7. dotnet add package NLayer.NAudioSupport --version 1.1.0

     

After changing the dependencies to:

  1. dotnet add package Newtonsoft.Json --version 12.0.3

  2. dotnet add package NAudio --version 1.9.0

  3. dotnet add package HtmlAgilityPack --version 1.11.23

  4. dotnet add package Jurassic --version 3.0.0

  5. dotnet add package NLayer --version 1.13.0

  6. dotnet add package Accord.Audio --version 3.8.0

  7. dotnet add package NLayer.NAudioSupport --version 1.1.0

 

With these older dependencies I didn't override any System DLL no more and the app started working normally when installed with dotnet tizen install.

A last note: the install command will most of the times show FAILED status for a project this big but if you wait 5 minutes the app will finish installing and appear on your Downloaded APPS section.