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

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

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

軟件下載 | 游戲 | 討論 | 電視計算器

綜合交流 / 評測 / 活動區(qū)

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

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

新手 | 你問我答 | 免費刷機救磚 | ROM固件

查看: 69228|回復: 73
上一主題 下一主題
[分享]

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

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

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

二、如何啟動
使用的工具

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沒有啟動, 不能直接通過dumpsys獲取到頂層應用的包名和Activity路徑,所以就不能直接:adb shell dumpsys window w |findstr / |findstr name=

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

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

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

反編譯完成后,會在同目錄下生成Apk同名的文件夾,進去查看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. 測試啟動DSvideo

首先測試用ADB啟動該Activity,是否能成功:

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

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

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

3. 解決方案

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

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

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

2 . 寫個有桌面圖標的App,來啟動AndroidTV-DSVideo。通用性好,官方升級也能一直使用。
果斷選擇第二種方案

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);
               
                // 此處應先做一個包名判斷,是否已安裝AndroidTV-DSvideo
                // 需要的自行百度,兩句代碼的問題
        
        Intent intent = new Intent();
        intent.setComponent(new ComponentName(PACKAGE, PACKAGE + ACTIVITY));
        startActivity(intent);

        finish();
    }
}

0x01 再用Android自帶的透明主題處理APP啟動時的白屏:

<?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拷貝一個圖標,刪除工程內(nèi)多余的圖片及其它資源。

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

0x04 最后AndroidStudio -> Build -> Generate Signed Bundle/APK…打包apk。然后adb install把剛編譯的apk安裝到電視上,圖標出來了,點擊后會自動啟動AndroidTV-DSideo,完成。

三、成品及使用方法

1. 安裝方法

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

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

回到設置頁,依次點擊:賬號與安全->ADB調試,按向右方向鍵選擇允許,然后你選擇確定打開。

在設置 -> 關于 里查看電視IP

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

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

2. 成品打包下載

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

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

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



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

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

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

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


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

使用道具 舉報

板凳
 樓主| 發(fā)表于 2024-6-25 10:58 | 只看該作者 | 來自上海
sunwukong1 發(fā)表于 2024-6-25 10:57
請問有Synology Photos (Android TV)的啟動軟件嗎?

這個沒去做,但是分析及改造原理一樣。按上面流程走一遍,把DSVideo的APK換為Synology Photos就行。
回復 支持 反對

使用道具 舉報

地板
發(fā)表于 2024-6-25 10:58 | 只看該作者 | 來自江西
思路很好,自己已經(jīng)實現(xiàn),感謝感謝
回復 支持 反對

使用道具 舉報

5#
發(fā)表于 2024-6-25 13:46 | 只看該作者 | 來自湖南
這個方法不錯
回復 支持 反對

使用道具 舉報

6#
發(fā)表于 2024-7-8 16:45 | 只看該作者 | 來自貴州
正好需要,下一個試試
回復 支持 反對

使用道具 舉報

7#
發(fā)表于 2024-7-8 16:54 | 只看該作者 | 來自貴州
有用,感謝
回復 支持 反對

使用道具 舉報

8#
發(fā)表于 2024-7-8 22:34 | 只看該作者 | 來自廣東
謝謝分享!
回復 支持 反對

使用道具 舉報

9#
發(fā)表于 2024-7-14 15:31 | 只看該作者 | 來自河南
正在找這個
回復 支持 反對

使用道具 舉報

10#
發(fā)表于 2024-7-16 18:08 | 只看該作者 | 來自天津
太硬核了,膜拜
回復 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

GMT+8, 2024-12-27 02:35 , Processed in 0.088466 second(s), 13 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報:report#znds.com (請將#替換為@)

© 2007-2024 ZNDS.Com

快速回復 返回頂部 返回列表