簡體   English   中英

如何為NativeScript Android更新App-Icon

[英]How to update the App-Icon for NativeScript Android

我有一個已經部署到PlayStore的應用程序。 對於新的更新,我希望該應用程序顯示的圖標和開始屏幕與當前不同。

我的styles.xml

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

    <!-- theme to use FOR launch screen-->
    <style name="LaunchScreenThemeBase" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="toolbarStyle">@style/NativeScriptToolbarStyle</item>

        <item name="colorPrimary">@color/ns_primary</item>
        <item name="colorPrimaryDark">@color/ns_primaryDark</item>
        <item name="colorAccent">@color/ns_accent</item>

        <item name="android:windowBackground">@drawable/splash_screen</item>
        <item name="android:windowNoTitle">true</item>

        <item name="android:windowActionBarOverlay">true</item>
        <item name="android:windowTranslucentStatus">true</item>

        <item name="android:windowFullscreen">true</item>
    </style>

    <style name="LaunchScreenTheme" parent="LaunchScreenThemeBase">
    </style>

    <!-- theme to use AFTER launch screen is loaded-->
    <style name="AppThemeBase" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="toolbarStyle">@style/NativeScriptToolbarStyle</item>

        <item name="colorPrimary">@color/ns_primary</item>
        <item name="colorPrimaryDark">@color/ns_primaryDark</item>
        <item name="colorAccent">@color/ns_accent</item>

        <item name="android:windowFullscreen">false</item>
    </style>

    <style name="AppTheme" parent="AppThemeBase">
    </style>

    <!-- theme for actioon-bar -->
    <style name="NativeScriptToolbarStyleBase" parent="Widget.AppCompat.Toolbar">
        <item name="android:background">@color/ns_primary</item>
        <item name="theme">@style/ThemeOverlay.AppCompat.ActionBar</item>
        <item name="popupTheme">@style/ThemeOverlay.AppCompat</item>

    </style>

    <style name="NativeScriptToolbarStyle" parent="NativeScriptToolbarStyleBase">
    </style>
</resources>

我的colors.xml

<resources>
    <color name="ns_primary">#F5F5F5</color>
    <color name="ns_primaryDark">#757575</color>
    <color name="ns_accent">#33B5E5</color>
    <color name="ns_blue">#272734</color>
</resources>

從我的AndroidManifest.xml

<application
        android:name="com.tns.NativeScriptApplication"
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:theme="@style/AppTheme"
>

我有很多可繪制的文件夾,其中有些.png's位於( icon.pngsplashscreen.9.png )中。 現在,如果我只是嘗試刪除這些文件並將新的.png文件放入其中,則在嘗試tns run android時會出現異常。

我已經嘗試刪除平台並讀取它(清理npm緩存),然后刪除.gradle 我還在根目錄中搜索.pngiconsplashscreen ,但沒有找到其他圖片(均為最新圖片)。

我不確定我還應該嘗試什么,問Google到目前為止對我沒有幫助。

錯誤:

15:25:01.117 [DEBUG] [org.gradle.api.Project] AAPT(QueuedJob{
title=Cruncher notify_panel_notification_icon_bg.png,
task={from=C:\Dev\biff\HandyApp\platforms\android\build\intermediates\exploded-aar\com.android.support\appcompat-v7\26.0.0-alpha1\res\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png, to=C:\Dev\biff\HandyApp\platforms\android\build\intermediates\res\merged\F0F1F2F3\debug\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png},
future=com.google.common.util.concurrent.SettableFuture@9c66ab1}) discarded: Crunching C:\Dev\biff\HandyApp\platforms\android\build\intermediates\exploded-aar\com.android.support\appcompat-v7\26.0.0-alpha1\res\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png
15:25:01.118 [QUIET] [system.out] Error: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException:
15:25:01.118 [DEBUG] [org.gradle.api.Project] AAPT out(Facade for 1223856843): Crunching single PNG file: C:\Dev\biff\HandyApp\platforms\android\build\intermediates\exploded-aar\com.android.support\appcompat-v7\26.0.0-alpha1\res\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png
15:25:01.118 [DEBUG] [org.gradle.api.Project] AAPT out(Facade for 1223856843): -> QueuedJob{
title=Cruncher notify_panel_notification_icon_bg.png,
task={from=C:\Dev\biff\HandyApp\platforms\android\build\intermediates\exploded-aar\com.android.support\appcompat-v7\26.0.0-alpha1\res\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png, to=C:\Dev\biff\HandyApp\platforms\android\build\intermediates\res\merged\F0F1F2F3\debug\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png},
future=com.google.common.util.concurrent.SettableFuture@9c66ab1}
15:25:01.118 [DEBUG] [org.gradle.api.Project] AAPT notify(QueuedJob{
title=Cruncher notify_panel_notification_icon_bg.png,
task={from=C:\Dev\biff\HandyApp\platforms\android\build\intermediates\exploded-aar\com.android.support\appcompat-v7\26.0.0-alpha1\res\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png, to=C:\Dev\biff\HandyApp\platforms\android\build\intermediates\res\merged\F0F1F2F3\debug\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png},
future=com.google.common.util.concurrent.SettableFuture@9c66ab1}): Crunching single PNG file: C:\Dev\biff\HandyApp\platforms\android\build\intermediates\exploded-aar\com.android.support\appcompat-v7\26.0.0-alpha1\res\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png
15:25:01.118 [DEBUG] [org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter] Removed task artifact state for {} from context.
15:25:01.118 [DEBUG] [org.gradle.api.Project] AAPT(QueuedJob{
title=Cruncher notify_panel_notification_icon_bg.png,
task={from=C:\Dev\biff\HandyApp\platforms\android\build\intermediates\exploded-aar\com.android.support\appcompat-v7\26.0.0-alpha1\res\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png, to=C:\Dev\biff\HandyApp\platforms\android\build\intermediates\res\merged\F0F1F2F3\debug\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png},
future=com.google.common.util.concurrent.SettableFuture@9c66ab1}) discarded: Crunching single PNG file: C:\Dev\biff\HandyApp\platforms\android\build\intermediates\exploded-aar\com.android.support\appcompat-v7\26.0.0-alpha1\res\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png
15:25:01.118 [DEBUG] [org.gradle.api.Project] AAPT out(Facade for 1223856843):  Output file: C:\Dev\biff\HandyApp\platforms\android\build\intermediates\res\merged\F0F1F2F3\debug\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png
15:25:01.118 [DEBUG] [org.gradle.api.Project] AAPT out(Facade for 1223856843): -> QueuedJob{
title=Cruncher notify_panel_notification_icon_bg.png,
task={from=C:\Dev\biff\HandyApp\platforms\android\build\intermediates\exploded-aar\com.android.support\appcompat-v7\26.0.0-alpha1\res\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png, to=C:\Dev\biff\HandyApp\platforms\android\build\intermediates\res\merged\F0F1F2F3\debug\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png},
future=com.google.common.util.concurrent.SettableFuture@9c66ab1}
15:25:01.118 [DEBUG] [org.gradle.api.Project] AAPT notify(QueuedJob{
title=Cruncher notify_panel_notification_icon_bg.png,
task={from=C:\Dev\biff\HandyApp\platforms\android\build\intermediates\exploded-aar\com.android.support\appcompat-v7\26.0.0-alpha1\res\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png, to=C:\Dev\biff\HandyApp\platforms\android\build\intermediates\res\merged\F0F1F2F3\debug\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png},
future=com.google.common.util.concurrent.SettableFuture@9c66ab1}):        Output file: C:\Dev\biff\HandyApp\platforms\android\build\intermediates\res\merged\F0F1F2F3\debug\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png
15:25:01.118 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':mergeF0F1F2F3DebugResources'
15:25:01.119 [DEBUG] [org.gradle.api.Project] AAPT(QueuedJob{
title=Cruncher notify_panel_notification_icon_bg.png,
task={from=C:\Dev\biff\HandyApp\platforms\android\build\intermediates\exploded-aar\com.android.support\appcompat-v7\26.0.0-alpha1\res\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png, to=C:\Dev\biff\HandyApp\platforms\android\build\intermediates\res\merged\F0F1F2F3\debug\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png},
future=com.google.common.util.concurrent.SettableFuture@9c66ab1}) discarded:     Output file: C:\Dev\biff\HandyApp\platforms\android\build\intermediates\res\merged\F0F1F2F3\debug\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png
15:25:01.119 [DEBUG] [org.gradle.api.Project] AAPT out(Facade for 1223856843): Done
15:25:01.119 [DEBUG] [org.gradle.api.Project] AAPT out(Facade for 1223856843): -> QueuedJob{
title=Cruncher notify_panel_notification_icon_bg.png,
task={from=C:\Dev\biff\HandyApp\platforms\android\build\intermediates\exploded-aar\com.android.support\appcompat-v7\26.0.0-alpha1\res\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png, to=C:\Dev\biff\HandyApp\platforms\android\build\intermediates\res\merged\F0F1F2F3\debug\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png},
future=com.google.common.util.concurrent.SettableFuture@9c66ab1}
15:25:01.119 [DEBUG] [org.gradle.api.Project] AAPT notify(QueuedJob{
title=Cruncher notify_panel_notification_icon_bg.png,
task={from=C:\Dev\biff\HandyApp\platforms\android\build\intermediates\exploded-aar\com.android.support\appcompat-v7\26.0.0-alpha1\res\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png, to=C:\Dev\biff\HandyApp\platforms\android\build\intermediates\res\merged\F0F1F2F3\debug\drawable-xhdpi-v4\notify_panel_notification_icon_bg.png},
future=com.google.common.util.concurrent.SettableFuture@9c66ab1}): Done
15:25:01.119 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger] :mergeF0F1F2F3DebugResources FAILED
15:25:01.119 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] :mergeF0F1F2F3DebugResources (Thread[Daemon worker Thread 2,5,main]) completed. Took 7.194 secs.
15:25:01.119 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationWorkerRegistry] Worker root.45 completed (0 in use)
15:25:01.119 [DEBUG] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] Task worker [Thread[Daemon worker Thread 2,5,main]] finished, busy: 26.976 secs, idle: 0.069 secs
15:25:01.123 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
15:25:01.123 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception.
15:25:01.123 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
15:25:01.123 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
15:25:01.124 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Execution failed for task ':mergeF0F1F2F3DebugResources'.
15:25:01.126 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Error: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException:
15:25:01.126 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
15:25:01.126 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Exception is:
15:25:01.127 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':mergeF0F1F2F3DebugResources'.

NativeScript 4.xx及更高版本引入了CLI命令,用於自動生成和替換應用程序圖標和啟動屏幕。

更改Android和iOS的應用程序圖標

tns resources generate icons  ../myIcon.png

更改Android和iOS的啟動屏幕

tns resources generate splashes ../myImage.png --background "#FF00FF"

有關此功能的更多信息,請參見此處此處

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM