因此,我将Android Studio更新为v3.2。当我尝试编译项目时,构建失败。 错误如下:
Android resource compilation failed
Output: C:\Users\Ashish\AndroidStudioProjects\StartUp\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:900: error: <item> inner element must either be a resource reference or empty.
Command: C:\Users\Ashish\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.0-4818971-windows.jar\7f1fbe9171e916e5044000cd76b749c8\aapt2-3.2.0-4818971-windows\aapt2.exe compile --legacy \
-o \
C:\Users\Ashish\AndroidStudioProjects\StartUp\app\build\intermediates\res\merged\debug \
C:\Users\Ashish\AndroidStudioProjects\StartUp\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml
Daemon: AAPT2 aapt2-3.2.0-4818971-windows Daemon #0
请告知是否需要更多信息。任何帮助将不胜感激。
答案 0 :(得分:17)
在将gradle从3.1.4
更新为3.2.0
之后,今天我遇到了这个问题。我不知道为什么,但是构建开始引发了该异常。我删除了build
文件夹,并删除了gradle caches
文件夹,但是没有任何效果,所以我查看了合并的values.xml
并发现我的ids.xml
定义了错误的ID已合并到values.xml
:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="downloading_package" type="id">Baixando pacote de sincronização</item>
</resources>
显然,这在更新之前是有效的...就我而言,我删除了ids.xml
文件(在项目中没有用)
我希望我能知道为什么在更新之前一切正常
答案 1 :(得分:3)
在<item>
行的values.xml
中的900
...可能是资源类型id
。
正确的语法是(正如错误消息所指示的那样):
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item type="id" name="id_name" />
</resources>
请参见documentation。
答案 2 :(得分:2)
我刚刚在几分钟前完成了此问题,请尝试修改或删除id.xml,如果您认为没有,请尝试在应用程序的另一个模块中查找。我将我的价值资源从<item name="header_view" type="id">header_view</item>
更改为<item name="header_view" type="id"/>
,并且对我有用。
答案 3 :(得分:1)
我也遇到了问题,您只需找到值所在的位置,然后将其从<item type="id" name="id_name" >id_name</item>
更新为<item type="id" name="id_name" />
,就可以了。
答案 4 :(得分:1)
只需更改资源中存在的 attr 名称 -> 值 -> attr
plt.scatter(df.VarX, df.VarY, c= df.Category.map(colorMap), cmap=cmap)
cbar = plt.colorbar()
tick_locs = (numpy.arange(n_cat) + 0.5)*(n_cat-1)/n_cat
cbar.set_ticks(tick_locs)
cbar.set_ticklabels(_categories)
例如,如果您收到与 fontFamily 相关的错误,只需更改名称构建应用程序错误就不会出现
答案 5 :(得分:0)
在您的构建gradle(Project:name)中这样做
classpath 'com.android.tools.build:gradle:3.+'
然后重建您的项目..之后,它将显示消息,将gradle从4.6更新到4.10
答案 6 :(得分:0)
就我而言
<?xml version="1.0" encoding="utf-8"?>
在XML中重复两次。确保每个文件应位于XML顶部。
答案 7 :(得分:0)
这对我有用:
在我的build.gradle
文件> dependencies
中,我正在实现appcompat
库的较新版本
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:support-v4:21.0.3'
implementation 'com.android.support:appcompat-v7:21.0.3'
implementation 'androidx.appcompat:appcompat:1.0.2'}
评论//implementation 'androidx.appcompat:appcompat:1.0.2'
后,效果很好。我建议,即使它是另一个库,也请检查您使用的版本。
答案 8 :(得分:0)
对我来说,我在布局视图和LinearLayout视图中具有布局宽度和布局高度用于数据绑定。这引发了重复的错误。我通过删除“”中的属性集来解决此问题。 layout file used for databinding
答案 9 :(得分:0)
我在<string>
标记内引用时遇到了这个问题
<string name="vj_dialogue">I'm waiting</string>
当我用反斜杠将其转义时''。问题不见了
<string name="vj_dialogue">I\'m waiting</string>
答案 10 :(得分:-1)
在您的xml文件中,您可能忘记添加/>
来支撑属性。