首頁 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當(dāng)貝市場(chǎng)

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計(jì)算器

綜合交流 / 評(píng)測(cè) / 活動(dòng)區(qū)

交流區(qū) | 測(cè)硬件 | 網(wǎng)站活動(dòng) | Z幣中心

新手入門 / 進(jìn)階 / 社區(qū)互助

新手 | 你問我答 | 免費(fèi)刷機(jī)救磚 | ROM固件

查看: 68270|回復(fù): 73
上一主題 下一主題
[分享]

解決群暉Android TV-DSvideo電視安裝后無圖標(biāo)問題及其原理

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-6-25 10:55 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式 | 來自上海
當(dāng)您在Android TV上安裝群暉DSvideo應(yīng)用后發(fā)現(xiàn)無圖標(biāo)顯示時(shí),不必?fù)?dān)憂。這可能是由于系統(tǒng)兼容、安裝問題或權(quán)限設(shè)置不當(dāng)?shù)仍蛟斐傻摹=酉聛?,我們將為您解析這一現(xiàn)象的原理,并提供相應(yīng)的解決方案。

前兩天,家里電視炸了(你沒看錯(cuò),就是炸了,前一天還好好的,睡一覺起來看到屏幕自己裂了),第二天買了個(gè)某米5(別噴,便宜就行),想著家里那臺(tái)只當(dāng)備份用著的DS218+,加上近期媳婦在看慶某年,順手去官網(wǎng)下了個(gè)AndroidTV-DSvideo安裝上,但發(fā)現(xiàn)安裝好了沒圖標(biāo)。查了資料,發(fā)現(xiàn)群暉提供的App只支持AndroidTV,而不支持國內(nèi)大部分深度定制的原版Android,詳查后發(fā)現(xiàn)只是啟動(dòng)器的問題,ADB am start測(cè)試可以正常打開,那就簡單了。

二、如何啟動(dòng)
使用的工具

ApkTool https://ibotpeaches.github.io/Apktool/
AnroidStudio https://developer.android.google.cn/studio
AdbTools https://adbdriver.com/downloads/

1. 獲取到App的包名和Launcher路徑

官網(wǎng)下載AndroidTV-DSvideo:https://www.synology.cn/zh-cn/support/download#androids
由于APP沒有啟動(dòng), 不能直接通過dumpsys獲取到頂層應(yīng)用的包名和Activity路徑,所以就不能直接:adb shell dumpsys window w |findstr / |findstr name=

那么就祭出神器,ApkTool,直接先反編譯解包。

.\apktool d .\AndroidTV-DSvideo.1.1.7-10060.apk

解決群暉Android TV-DSvideo電視安裝后無圖標(biāo)問題及其原理

反編譯完成后,會(huì)在同目錄下生成Apk同名的文件夾,進(jìn)去查看AndroidManifest.xml

  <application android:allowBackup="true" android:icon="@mipmap/app_icon" android:label="@string/app_name" android:largeHeap="true" android:name="com.synology.dsvideo.App" android:supportsRtl="true" android:theme="@style/Theme.DSvideo.Leanback">
        <meta-data android:name="userAgentName" android:value="TV DS video"/>
        <activity android:banner="@mipmap/card_ds_video" android:icon="@mipmap/card_ds_video" android:label="@string/app_name" android:logo="@mipmap/card_ds_video" android:name="com.synology.dsvideo.ui.WelcomeActivity" android:screenOrientation="landscape">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LEANBACK_LAUNCHER"/>
            </intent-filter>
        </activity>
       ......

App包名為:com.synology.dsvideo
Launcher類名為:com.synology.dsvideo.ui.WelcomeActivity

2. 測(cè)試啟動(dòng)DSvideo

首先測(cè)試用ADB啟動(dòng)該Activity,是否能成功:

adb shell am start -n {包名(package)}/{包名}.{Activity路徑}

adb shell am start -n com.synology.dsvideo/com.synology.dsvideo.ui.WelcomeActivity

然后電視正常打開了DsVideo,登陸后測(cè)試讀取、播放一切正常,那么就是只是一個(gè)沒圖標(biāo)的問題了。

3. 解決方案

初步想了兩種方案:
1 . 給AndroidManifest中WelcomeActivity節(jié)點(diǎn)加上

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />

讓AndroidTV的應(yīng)用變?yōu)槠胀ˋpp(未測(cè)試、理論可行),重新打包后安裝。但該方法不通用,每次官方App更新后,就需要重新再去編輯打包一次,而且重打包過程中可能會(huì)遇到各種坑,只是為了給媳婦看一個(gè)視頻,沒必要這么折騰,放棄。

2 . 寫個(gè)有桌面圖標(biāo)的App,來啟動(dòng)AndroidTV-DSVideo。通用性好,官方升級(jí)也能一直使用。
果斷選擇第二種方案

0x00 一句代碼:

import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;

public class MainActivity extends Activity {

    private static final String PACKAGE = "com.synology.dsvideo";
    private static final String ACTIVITY = ".ui.WelcomeActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
               
                // 此處應(yīng)先做一個(gè)包名判斷,是否已安裝AndroidTV-DSvideo
                // 需要的自行百度,兩句代碼的問題
        
        Intent intent = new Intent();
        intent.setComponent(new ComponentName(PACKAGE, PACKAGE + ACTIVITY));
        startActivity(intent);

        finish();
    }
}

0x01 再用Android自帶的透明主題處理APP啟動(dòng)時(shí)的白屏:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.itxca.dsgo">

    <application
        android:allowBackup="true"
        android:icon="@drawable/app_icon"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@android:style/Theme.Translucent" >
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

0x02 刪除build.gradle中多余的AndroidX引用,壓縮Apk體積

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
}

0x03 從剛解包的AndroidTV-DSVideo文件夾中…\res\mipmap-xxxhdpi\app_icon.png拷貝一個(gè)圖標(biāo),刪除工程內(nèi)多余的圖片及其它資源。

解決群暉Android TV-DSvideo電視安裝后無圖標(biāo)問題及其原理

0x04 最后AndroidStudio -> Build -> Generate Signed Bundle/APK…打包apk。然后adb install把剛編譯的apk安裝到電視上,圖標(biāo)出來了,點(diǎn)擊后會(huì)自動(dòng)啟動(dòng)AndroidTV-DSideo,完成。

三、成品及使用方法

1. 安裝方法

U盤、帶WIFI安裝的文件管理器、ADB,由于各個(gè)電視廠家的安裝方法不盡相同,這里只給出家里使用的某米5安裝方法。

設(shè)置 -> 關(guān)于 -> 產(chǎn)品型號(hào),然后在產(chǎn)品型號(hào)上快速的按確認(rèn)鍵五次以上,提示“您已經(jīng)處于開發(fā)者模式”。

回到設(shè)置頁,依次點(diǎn)擊:賬號(hào)與安全->ADB調(diào)試,按向右方向鍵選擇允許,然后你選擇確定打開。

在設(shè)置 -> 關(guān)于 里查看電視IP

adb connect ip連接上電視(注意電視彈出的是否允許調(diào)試要選擇允許)
adb install 安裝
adb conncet 192.168.1.88
adb install AndroidTV-DSvideo.1.1.7-10060.apk
adb install DsVideoLauncher.apk

提示無Adb的,可以在這個(gè)網(wǎng)站下載https://adbdriver.com/downloads/

2. 成品打包下載

游客,如果您要查看本帖隱藏內(nèi)容請(qǐng)回復(fù)

群暉AndroidTV-DSvideo只支持Google AndroidTv,不支持國內(nèi)大部分深度定制的普通Android。通過安裝原版App及一起打包的啟動(dòng)器,可以在電視的桌面生成DSvideo的圖標(biāo),從而在國內(nèi)普通電視上使用DSvideo Tv。

兩個(gè)都要安裝:AndroidTV-DSvideo.1.1.7-10060.apk (群暉提供的Tv DSVideo)
DsVideoLauncher.apk (創(chuàng)建一個(gè)桌面圖標(biāo)的啟動(dòng)器)



相關(guān)閱讀:美洲杯2024賽程表直播在哪看 電視怎么看2024年美洲杯賽況

手把手教你通過armbian-ddbr命令實(shí)現(xiàn)eMMC系統(tǒng)的備份與還原

U盤怎么擴(kuò)容 一文看懂利用armbian-tf命令擴(kuò)展系統(tǒng)U盤容量

黑豹X2盒子怎么刷機(jī) 黑豹盒子RK3566芯片搞定Armbian系統(tǒng)安裝


上一篇:U盤怎么擴(kuò)容 一文看懂利用armbian-tf命令擴(kuò)展系統(tǒng)U盤容量
下一篇:小米電視怎么自定義桌面 小米電視怎么固定桌面
沙發(fā)
發(fā)表于 2024-6-25 10:57 | 只看該作者 | 來自江西
請(qǐng)問有Synology Photos (Android TV)的啟動(dòng)軟件嗎?
板凳
 樓主| 發(fā)表于 2024-6-25 10:58 | 只看該作者 | 來自上海
sunwukong1 發(fā)表于 2024-6-25 10:57
請(qǐng)問有Synology Photos (Android TV)的啟動(dòng)軟件嗎?

這個(gè)沒去做,但是分析及改造原理一樣。按上面流程走一遍,把DSVideo的APK換為Synology Photos就行。
地板
發(fā)表于 2024-6-25 10:58 | 只看該作者 | 來自江西
思路很好,自己已經(jīng)實(shí)現(xiàn),感謝感謝
5#
發(fā)表于 2024-6-25 13:46 | 只看該作者 | 來自湖南
這個(gè)方法不錯(cuò)
6#
發(fā)表于 2024-7-8 16:45 | 只看該作者 | 來自貴州
正好需要,下一個(gè)試試
7#
發(fā)表于 2024-7-8 16:54 | 只看該作者 | 來自貴州
有用,感謝
8#
發(fā)表于 2024-7-8 22:34 | 只看該作者 | 來自廣東
謝謝分享!
9#
發(fā)表于 2024-7-14 15:31 | 只看該作者 | 來自河南
正在找這個(gè)
10#
發(fā)表于 2024-7-16 18:08 | 只看該作者 | 來自天津
太硬核了,膜拜

本版積分規(guī)則

Archiver|新帖|標(biāo)簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號(hào) )

網(wǎng)絡(luò)信息服務(wù)信用承諾書 | 增值電信業(yè)務(wù)經(jīng)營許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號(hào)

GMT+8, 2024-12-22 11:21 , Processed in 0.068551 second(s), 13 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報(bào):report#znds.com (請(qǐng)將#替換為@)

© 2007-2024 ZNDS.Com

快速回復(fù) 返回頂部 返回列表