首页»版块 荣耀Magic系列手机 荣耀Magic6系列 【教程】如何为荣耀magic6适配一镜到底主题?
#荣耀Magic6系列#

【教程】如何为荣耀magic6适配一镜到底主题?

  [复制帖子标题和链接]

64085

cc422323  LV8  发表于 2024-2-18 10:27:59 湖北 来自:浏览器
本帖最后由 cc422323 于 2024-2-18 10:51 编辑

提示:此教程适用于荣耀magic6系列,同样适用于荣耀magic5系列、荣耀80系列、荣耀80GT、荣耀90系列以及其他安装了hnlivewallpaper的magic OS 7.x机型,理论上也适用于100系列、90GT和X50GT(但是没有实机测试不确定,这方面需要这三款机型的机主自己尝试),不适用于华为机型、magic ui 6.x机型以及没有安装hnlivewallpaper的magic OS 7.x机型。

1、前提准备
需要以下物品:要适配的一镜到底主题(hwt和apk),用来做开屏特效的视频(分辨率1224*2688,60fps,关键帧间隔为1,如果你是用谷歌壁纸来做适配,这个视频可以直接用magic5/magic6自带的一镜到底里的视频来替代),全屏息屏显示相关的视频(可以从magic6自带的一镜到底的主题包里面取,保留这个只是为了能让magic6使用主题,实际上用不到)。如果你需要把已经适配magic5的主题适配给magic6,可以跳过2、3步骤,直接看4就可以。

2、把一镜到底主题改为magic ui 6.x适配(如果一镜到底主题已经适配了magic ui 6.x,可以跳过这一步)
打开apk,打开AndroidManifest.xml,修改AndroidManifest.xml,把里面所有的huawei替换为hihonor,并保存退出。中间的提示选择确定,并勾选自动签名。接下来,进入classes.dex,选择com.huawei文件夹,将huawei重命名为hihonor,点击确定。然后搜索huawei,将代码中所有的huawei替换为hihonor,确定保存退出。最后再进入resources.arsc,把里面所有的huawei替换为hihonor,并保存退出。然后点开hwt,点开livepaper.xml,把里面所有的huawei替换为hihonor,并保存退出。这样就完成了对magic ui 6.x的适配。(如果是hwt包含apk的,需要把apk和hwt分离,并引入一个livepaper.xml,内容这样写:
<?xml version=”1.0” encoding=”UTF-8”?><HwTheme>
<pkgname>(此处是apk文件的包名,根据包名不同替换)</pkgname>
<classname>(此处查看AndroidManifest.xml里

<service……android:name=””部分,把android:name后面的双引号里的字符串替换到这里)</classname>
</HwTheme>)



3、适配magic6的步骤
(下面左边是magic6自带一镜到底的hwt文件的wallpaper文件夹,右边是magic5自带一镜到底的hwt文件的wallpaper文件夹,可以发现magic6自带的一镜到底多了两个带fullAod的视频和两个带fullAod的图片,这四个文件都需要保留在文件夹内,即使第三方一镜到底主题基本上不会用到这些文件
【教程】如何为荣耀magic6适配一镜到底主题?
3.1、找到桌面壁纸和锁屏壁纸(hwt里的wallpaper文件夹下的home_wallpaper_0.jpg和unlock_wallpaper_0.jpg,以及apk里的jpg文件,哪边有图片就用哪边的,如果apk里的jpg壁纸是透明图片,虽然可以拿来用,但是不太建议,因为对于某些锁屏时带模糊效果的机型可能有问题),桌面壁纸改为home_wallpaper_0.jpg(浅色模式桌面壁纸)和home_dark_wallpaper_0.jpg(深色模式桌面壁纸),锁屏壁纸改为unlock_live_wallpaper.jpg(浅色模式锁屏壁纸)、unlock_dark_live_wallpaper,jpg(深色模式锁屏壁纸)、fullAod_live_wallpaper.jpg(全屏息屏显示浅色壁纸)、dark_fullAod_live_wallpaper.jpg(全屏息屏显示深色壁纸),放到hwt文件的wallpaper文件夹下面;

3.2、把视频改名为dark_video_live_wallpaper.mp4(深色模式开屏动画)、video_live_wallpaper.mp4(浅色模式开屏动画)、video_live_wallpaper_fullAod.mp4(全屏息屏显示浅色开屏动画)、dark_video_live_wallpaper_fullAod.mp4(全屏息屏显示深色开屏动画),放到hwt文件的wallpaper文件夹下面;

3.3、找到magic6自带一镜到底的hwt里的livepaper.xml和livepaper_config.xml,复制到hwt文件的根目录下面,下面是两个文件的内容,可以直接拿来复制:
livepaper.xml

<?xml version=”1.0” encoding=”UTF-8”?>
<HwTheme>
        <pkgname>com.hihonor.livewallpaper.paradise</pkgname>
        <classname>com.hihonor.wallpaper.superwallpaper.SuperWallpaperService</classname>
</HwTheme>

livepaper_config.xml

<?xml version=”1.0” encoding=”UTF-8”?>
<WallpaperConfig>
    <support_background_blur>false</support_background_blur>
    <support_dark_mode>true</support_dark_mode>
    <aod_to_lock_total_frame>60</aod_to_lock_total_frame>
    <lock_to_launcher_total_frame>0</lock_to_launcher_total_frame>
    <aod_style>SpringPeakClock;Spring Peak</aod_style>
    <aod_support_transition_animation>true</aod_support_transition_animation>

    <support_frame_extraction>true</support_frame_extraction>
    <extract_stage_one_orig_anim_frame>0</extract_stage_one_orig_anim_frame>
    <extract_stage_two_orig_anim_frame>60</extract_stage_two_orig_anim_frame>
    <aod_animation_segments>3</aod_animation_segments>
    <aod_to_lock_default_animation_stage>1</aod_to_lock_default_animation_stage>
    <support_off_screen_animation>true</support_off_screen_animation>
    <support_full_screen_aod>true</support_full_screen_aod>
    <aod_to_lock_total_frame_full_aod>60</aod_to_lock_total_frame_full_aod>
    <lock_to_launcher_total_frame_full_aod>0</lock_to_launcher_total_frame_full_aod>
    <super_wallpaper_scheme>2</super_wallpaper_scheme>
</WallpaperConfig>

3.4、打开hwt文件的description.xml,找到<title>和</title>中间的字符串,复制到livepaper_config.xml里的
aod_style的分号和</中间。

3.5、把livepaper_config.xml中的<support_full_screen_aod>true</support_full_screen_aod>里的true改为false。


3.6、如果hwt里的aod是com.huawei.aod,改成com.hihonor.aod。

这样一个magic6版的一镜到底就弄好了。(当然,对于谷歌壁纸法,因为用的是magic5/magic6自带一镜到底的mp4,还是需要在应用主题之后点开谷歌壁纸的动态壁纸,找到对应的apk应用的)

4、对于已经适配了magic5的一镜到底主题,怎么适配magic6(2、3步骤做完的就不用看4了)


4.1、打开hwt文件的livepaper_config.xml,把下面这一段文字复制进去:
    <support_frame_extraction>true</support_frame_extraction>
    <extract_stage_one_orig_anim_frame>0</extract_stage_one_orig_anim_frame>
    <extract_stage_two_orig_anim_frame>60</extract_stage_two_orig_anim_frame>
    <aod_animation_segments>3</aod_animation_segments>
    <aod_to_lock_default_animation_stage>1</aod_to_lock_default_animation_stage>
    <support_off_screen_animation>true</support_off_screen_animation>
    <support_full_screen_aod>false</support_full_screen_aod>
    <aod_to_lock_total_frame_full_aod>60</aod_to_lock_total_frame_full_aod>
    <lock_to_launcher_total_frame_full_aod>0</lock_to_launcher_total_frame_full_aod>
    <super_wallpaper_scheme>2</super_wallpaper_scheme>

4.2、把magic6自带一镜到底主题包的wallpaper文件夹里的video_live_wallpaper_fullAod.mp4(全屏息屏显示浅色开屏动画)、dark_video_live_wallpaper_fullAod.mp4(全屏息屏显示深色开屏动画)、fullAod_live_wallpaper.jpg(全屏息屏显示浅色壁纸)、dark_fullAod_live_wallpaper.jpg(全屏息屏显示深色壁纸)复制到hwt文件的wallpaper文件夹里。

4.3、如果hwt里的aod是com.huawei.aod,改成com.hihonor.aod。

5、一点后话
5.1、这篇教程很多地方复用的都是magic5版本的步骤,因为大部分地方magic6版都和magic5版差不多,只是要保留的livepaper_config更多以及wallpaper里的文件更多了而已。
5.2、我删除了录屏大法的步骤,因为确实比较麻烦,我自己现在都不用这种方法了......
5.3、magic6版最大的问题在于,需要保留的无关文件太多,有可能超过主题包100M的限制,如果允许的话,可以把video_live_wallpaper_fullAod.mp4和dark_video_live_wallpaper_fullAod.mp4用尽可能小的视频来替代(比如我用的视频大小只有6M,如果用的是谷歌壁纸法,那么dark_video_live_wallpaper.mp4和video_live_wallpaper.mp4也可以),尽量减少主题包的体积避免达到100M的限制。
5.4、这个办法只能保证各个机型能用一镜到底了,由于荣耀给各个机型的AOD位置和分辨率不一样,再加上8.0取消了息屏动画和AOD之间的黑屏,对于一个同样的主题包,有的机型能对齐动画和AOD,有的机型会对齐不了,对齐不了的机型效果会很突兀,这个问题除非荣耀官方自己修复,单靠主题作者和适配者来对齐各个机型的位置是不可能的,这也是目前荣耀一镜到底最大的问题。
5.5、magic6机型使用用这个办法制作的第三方一镜到底时不要使用全屏息屏显示,因为没有经过适配。
5.6、magic6的荣耀主题APP已经不会识别com.huawei.aod,所以必须要改成com.hihonor.aod才能正确触发一镜到底效果。

评论

太复杂了,头都晕了  发表于 2024-6-6 16:05  广东
您需要登录后才可以评论 登录 | 立即注册
简体中文 - China
快速回复 返回顶部 返回列表