• 20150608_Andriod 发布问题处理


    参考地址: http://blog.csdn.net/cxc19890214/article/details/39120415

    问题:当我们开发完成一个Android应用程序后,在发布该应用程序之前必须要经过的一步时打包应用程序。

    至于从打包程序到发布的完整过程可以参考: Android 应用程序发布流程---碗豆荚发布流程

    选择Eclipse ADT打包应用程序的过程如下:

    可是在这时,会出现如下提示:

    并且原本没有错误的程序(values/strings.xml)也会出现如下错误提示:

    1. "app_name" is not translated in "af" (Afrikaans), "am" (Amharic), "ar" (Arabic), "bg" (Bulgarian), "ca" (Catalan),  
    2. "cs" (Czech), "da" (Danish), "de" (German), "el" (Greek), "en-rGB" (English: United Kingdom), "en-rIN" (English:  
    3. India), "es" (Spanish), "es-rUS" (Spanish: United States), "et-rEE" (Estonian: Estonia), "fa" (Persian),  
    4. "fi" (Finnish), "fr" (French), "fr-rCA" (French: Canada), "hi" (Hindi), "hr" (Croatian), "hu" (Hungarian), "hy- 
    5. rAM" (Armenian: Armenia), "in" (Indonesian), "it" (Italian), "iw" (Hebrew), "ja" (Japanese), "ka-rGE" (Georgian:  
    6. Georgia), "km-rKH" (Khmer: Cambodia), "ko" (Korean), "lo-rLA" (Lao: Lao People's Democratic Republic),  
    7. "lt" (Lithuanian), "lv" (Latvian), "mn-rMN" (Mongolian: Mongolia), "ms-rMY" (Malay: Malaysia), "nb" (Norwegian  
    8. Bokm?l), "nl" (Dutch), "pl" (Polish), "pt" (Portuguese), "pt-rPT" (Portuguese: Portugal), "ro" (Romanian),  
    9. "ru" (Russian), "sk" (Slovak), "sl" (Slovene), "sr" (Serbian), "sv" (Swedish), "sw" (Swahili), "th" (Thai),  
    10. "tl" (Tagalog), "tr" (Turkish), "uk" (Ukrainian), "vi" (Vietnamese), "zh-rCN" (Chinese: China), "zh-rHK" (Chinese:
    11. Hong Kong), "zh-rTW" (Chinese: Taiwan, Province of China), "zu" (Zulu) 
    1. "app_name" is not translated in "af" (Afrikaans), "am" (Amharic), "ar" (Arabic), "bg" (Bulgarian), "ca" (Catalan),   
    2.  "cs" (Czech), "da" (Danish), "de" (German), "el" (Greek), "en-rGB" (English: United Kingdom), "en-rIN" (English:   
    3.  India), "es" (Spanish), "es-rUS" (Spanish: United States), "et-rEE" (Estonian: Estonia), "fa" (Persian),   
    4.  "fi" (Finnish), "fr" (French), "fr-rCA" (French: Canada), "hi" (Hindi), "hr" (Croatian), "hu" (Hungarian), "hy-  
    5.  rAM" (Armenian: Armenia), "in" (Indonesian), "it" (Italian), "iw" (Hebrew), "ja" (Japanese), "ka-rGE" (Georgian:   
    6.  Georgia), "km-rKH" (Khmer: Cambodia), "ko" (Korean), "lo-rLA" (Lao: Lao People's Democratic Republic),   
    7.  "lt" (Lithuanian), "lv" (Latvian), "mn-rMN" (Mongolian: Mongolia), "ms-rMY" (Malay: Malaysia), "nb" (Norwegian   
    8.  Bokm?l), "nl" (Dutch), "pl" (Polish), "pt" (Portuguese), "pt-rPT" (Portuguese: Portugal), "ro" (Romanian),   
    9.  "ru" (Russian), "sk" (Slovak), "sl" (Slovene), "sr" (Serbian), "sv" (Swedish), "sw" (Swahili), "th" (Thai),   
    10.  "tl" (Tagalog), "tr" (Turkish), "uk" (Ukrainian), "vi" (Vietnamese), "zh-rCN" (Chinese: China), "zh-rHK" (Chinese:   
    11.  Hong Kong), "zh-rTW" (Chinese: Taiwan, Province of China), "zu" (Zulu)  


    是什么原因呢?原因如下:

    在Android SDK Tool r19之后, Export的时候遇到xxx is not translated in yyy, zzz的问题。

    例如说"auto_name" is not translated in zh, zh_CN.

    这是因为Android SDK Tool 將 ANDROID_LINT_COMPLETE_REGIONS 改为了需要检查。

    如何解决呢?

    其实,以上提示已经给我们答案。一种是“fix these before running Export ”,另一种是“turn off 'Run full error check when exporting app'”

    方法如下:

    先说后者:“turn off 'Run full error check when exporting app'“

    (1)在Eclipse中打开Preference,按下图操作:

    (2)再说前者:“fix these before running Export ”

    操作如下图所示:

    双击选择4,会在5的左侧出现对该问题的描述,如下:

    框中也给我们三种解决方法。
    即:
    1》If the string should not be translated, you can add the attribute translatable="false" on the <string> element,

    这种方法只适合数量较少的情况下。

    2》字符串数量较大的情况,会很麻烦,这时可以采用另一种方法:

    or you can define all your non-translatable strings in a resource file called donottranslate.xml.

    即我们可以将所有不需要non-translatable 的字符串统一放入一个名叫donottranslate.xml的文件中。

    在values新建donottranslate.xml文件,并把不需要non-translatable 的字符串放入其中.

    donottranslate.xml:

    1. <span style="font-size:14px;"><?xml version="1.0" encoding="utf-8"?> 
    2. <resources> 
    3.     <string name="app_name">UMengDemo</string> 
    4.     <string name="action_settings" >Settings</string> 
    5.     <string name="sharePic_text" >分享本地图片</string></span><pre name="code" class="html"style="text-indent: 0.10000000149011612px;"><span style="font-size:14px;"></resources></span> 
    1. <span style="font-size:14px;"><?xml version="1.0" encoding="utf-8"?>  
    2. <resources>  
    3.     <string name="app_name">UMengDemo</string>  
    4.     <string name="action_settings" >Settings</string>  
    5.     <string name="sharePic_text" >分享本地图片</string></span><pre name="code" class="html" style="text-indent: 0.10000000149011612px;"><span style="font-size:14px;"></resources></span>  

    3》Or, you can ignore the issue with a tools:ignore="MissingTranslation" attribute.

    第三种方法,就是用tools:ignore="MissingTranslation“ 属性直接忽略这个问题
     

    以上操作完成后,最好选择“Clean”一下项目,方法如下:

    这样就可以解决以上问题了。

  • 相关阅读:
    【深入理解jvm笔记】Java发展史以及jdk各个版本的功能
    老罗Android视频教程(第一版)
    微软平台开发
    asp.net mvc 小结
    JavaScript代码段
    CSS代码片段
    c#代码片段
    Windows Phone 链接
    HttpRequest
    Win32
  • 原文地址:https://www.cnblogs.com/hutie1980/p/4561460.html
Copyright © 2020-2023  润新知