天天看點

關于GooglePlay上傳錯誤:android:icon attribute attribute is not a string value

關于GooglePlay上傳錯誤:android:icon attribute attribute is not a string value

今天上傳應用到GooglePlay提示錯誤如下:

關于GooglePlay上傳錯誤:android:icon attribute attribute is not a string value

相信這個問題很多人都可能遇到過。遇到這種問題,首先本能的借助Google來找尋答案,果不其然還是有不少朋友遇到過這種問題。首先我反複的檢視了下面這個文章裡面的内容,哈哈,問題竟然是aapt.ext工具可能存在有Bug,頓時三觀盡毀啊!點選打開連結

問題找到了,該如何解決了?我試着更新Android SDK重新編譯,很遺憾問題同樣存在。接下來我開始從這個錯誤提示入手,‘android:icon attribute attribute is not a string value‘ 難道是程式Logo有問題?根據網上的各種資料,我将drawable-ldpi,drawable-mdpi,drawable-hdpi,drawable-xhdpi以及預設drawable檔案夾下面都存放了一份相應尺寸的應用圖示。然而,上傳後還是提示同樣的錯誤~~~想來想去真的是沒有什麼好辦法了~~

沒辦法現在隻有不停的測試-上傳來發現問題。但是上傳一次GooglePlay太費時間,上面提示的錯誤不是由aapt.exe工具報告的嗎?好家夥,找找其使用的指令直接用來測試編譯好的APK應用,省事高效。操作方法:Windows環境下進入cmd,進入到你安裝的SDK相應目錄下面執行如下指令:

aapt dump badging Appname.apk

Appname.apk是你的APK檔案全名,注意加字尾格式哦。如果能夠順利的通過則說明這個問題得到了解決,在控制台中會列出關于程式資源的詳細資訊;否則會提示相應錯誤資訊如最開始所示。

再次回到錯誤提示中,靈機一動,上面不是有資源出錯的位置索引:’0x7f080000'嗎?我試着在資源檔案R.java中搜尋它,好家夥原來是程式的名稱的String資源,根本與android:icon沒有半毛錢關系~哈哈。下面是AndroidManifest.xml中關于應用的相關配置:

android:allowBackup="true"
        android:allowClearUserData="false"
        android:hardwareAccelerated="true"
        android:icon="@drawable/app_logo"
        android:label="@String/app_name"
        android:largeHeap="true"
           

問題找到了就好辦了,解決方法如下:

一:将應用名稱進行寫死寫死,

android:label="your_app_name"
           

二:原來我的程式的所有語言資源成了中文和英文,預設的value檔案夾中沒有相應的檔案。添加一個預設的檔案并包含app_name的字段就OK。

再次編譯好新的APK用aapt解析一下,OK沒有報錯啦!看來開發者不可過度依賴某些工具的使用哦,如果工具本身就可能有問題那可是會浪費你不少寶貴時間來調試的!