簡體   English   中英

Cordova / Phonegap - Android:圖標未更新

[英]Cordova/Phonegap - Android: Icon not updating

我正在使用cordova 3.3.0(CLI),我根據文檔說明( http://cordova.apache.org/docs/en/3.3.0/ )替換了www / res / icons / android文件夾中的圖標config_ref_images.md.html )。 問題是,當我構建並將應用程序發送到我的手機(cordova運行android)時,即使我在再次安裝之前從手機上卸載應用程序,該圖標仍然是默認圖標。 有關如何解決此問題的任何建議? 謝謝!

我正在使用http://ionicframework.com/構建我的應用程序,它使用cordova。 我遇到了和你一樣的問題,並且很容易解決它。

我首先建議的是轉到項目的根目錄並運行以下命令:

grep -nr“icon.png”*

這將列出icon.png的所有引用,並可以讓您了解文件的復制位置。 我也更新了我的android / res / drawable文件夾,沒有運氣。 但是在運行上面的grep命令后,我注意到這些圖標被復制到:

/platforms/android/ant-build/res/drawable-xhdpi/icon.png

我導航到這個文件夾,發現圖像是默認的cordova png圖像。 我用我的圖標更新了每個drawable,現在一切都很順利。

希望這有助於解決您的問題。 祝你好運!

嘗試簡單地重啟手機。 這聽起來很荒謬,但它為我解決了同樣的問題。

重啟對我有用。 設備必須緩存它們嗎?

似乎www / res / icons並沒有真正起作用,我沒有看到它們的功能,這是一篇有用的文章: http//devgirl.org/2013/11/12/three-hooks-your -cordovaphonegap項目,需求/

最好的辦法是編寫一個腳本,將它們復制到正確的位置

從Cordova 8.0.0開始,這仍然是一個問題。 我用自己的(用文件保持文件名)替換了位於res\\icon\\android的默認cordova圖標,並期望構建將使用這些圖標,但事實並非如此。

對我來說,修復是在config.xml的platform部分中明確指定圖標的路徑。

<platform name="android">
    <allow-intent href="market:*" />
    <icon density="ldpi" src="res/icon/android/icon-36-ldpi.png" />
    <icon density="mdpi" src="res/icon/android/icon-48-mdpi.png" />
    <icon density="hdpi" src="res/icon/android/icon-72-hdpi.png" />
    <icon density="xhdpi" src="res/icon/android/icon-96-xhdpi.png" />
</platform>

我正在使用4.2版。

這有兩種不同的實例和2種不同的解決方案。

第一個例子)我在platforms \\ android \\ ant-build \\ res文件夾中進行了圖標更改。

第二個例子)Phonegap錯誤地將ios圖標構建到android \\ res文件夾中。 在使用phonegap build android --verbose瀏覽日志之后,我注意到它將ios圖標從\\ www \\ res \\ icon \\ ios \\ icon-72.png復制到android \\ ant-build \\ res \\ drawable-hdpi \\ icon巴紐。 你會想要閱讀日志,看看它是否行為不端。

祝好運!

在與平台和www文件夾相同的文件夾中運行此python腳本。 它將用您想要的圖像替換“icon.png”的所有實例。 在我的例子中,徽標存儲在./www/img/log1.png。 在Ubuntu上測試,可以在其他平台上運行。

import os; 
fileList = os.popen("find ./ -name icon.png").read();
files=fileList.split("\n");
for f in files:
    if(f!=files[len(files)-1]):
        print(f);
        os.system("cp ./www/img/logo1.png "+f+";");

我很驚訝地發現Cordova會自動為您縮放徽標,因此不要浪費時間為每張圖像制作多個像素密度。 只需使用一個非常大/高像素密度的圖像,它將為您的低密度屏幕縮放。

暫無
暫無

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

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