赞
踩
今天使用Qt5.8.0在MACOS上编译Android是,突然冒出错误:
/Users/xxx/Qt5.8.0/5.8/android_armv7/src/android/java/res/values/strings.xml:7: Error: "unsupported_android_version" is not translated in "de" (German), "el" (Greek), "es" (Spanish), "et" (Estonian), "fa" (Persian), "fr" (French), "id" (Indonesian), "it" (Italian), "ja" (Japanese), "ms" (Malay), "nb" (Norwegian Bokmål), "nl" (Dutch), "pl" (Polish), "pt-BR" (Portuguese: Brazil), "rs", "ru" (Russian), "zh-CN" (Chinese: China), "zh-TW" (Chinese: Taiwan) [MissingTranslation]
<string name="unsupported_android_version">Unsupported Android version.</string>
最后搜出据说有三种方法,有两种是修改Qt系统自带的上面出错的那个strings.xml文件,我觉得不妥,选择了另一种,修改工程文件的方法,做个记录并分享出来,供踩坑的同学借鉴。
//-------------------------------------------
可以看到出错的位置,一个是在values/strings.xml,
(据说Android Studiok中可能还会有一个是在values/arrays.xml,本人未测试,网上搜出来的)
出错的原因主要是因为xml文件中存在中英文混用的情况。
搜了一下有以下三种:
方法一.在报错的地方加上这个属性translatable="false",
<string name="app_name" translatable="false">my APP</string>
方法二.在出错的文件头部加入这句。比如我的是在strings.xml和arrays.xml中报的错,所以可以在这两个文件头部resource中加入以下这句代码,xmlns:tools ="http://schemas.android.com/tools" tools:ignore="MissingTranslation"
<resources xmlns:tools ="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
方法三(本人选择此方案,修改本工程文件即可):直接修改配置文件,防止在编译的时候去检测编码问题,告诉编译器把translate引起的warning屏蔽掉。
在project的build.gradle的Android中添加
lintOptions{
disable 'MissingTranslation'
}
问题完美解决.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。