Google Assistant Android Studio插件无法识别shortcuts.xml求助
问题:App Actions构建时提示找不到匹配的shortcuts.xml或actions.xml资源
我正在使用Android Studio Chipmunk 2021.2.1 Patch 1,按照官方codelab实现Google Assistant App Actions,但构建应用或使用Google Assistant Android Studio插件时,出现以下错误:
There are no resources listed in your Android Manifest matching to shortcuts.xml or actions.xml.
我的Android清单文件如下:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.devrel.android.fitactions"> <!-- Needed permission to start the FitTrackingService in foreground mode --> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <application android:name="com.devrel.android.fitactions.FitApp" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme" tools:ignore="GoogleAppIndexingWarning"> <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" /> <activity android:name="com.devrel.android.fitactions.FitMainActivity" android:exported="true" android:label="@string/app_name" android:launchMode="singleTask" android:theme="@style/AppTheme.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <service android:name="com.devrel.android.fitactions.tracking.FitTrackingService" android:enabled="true" android:exported="true" /> </application> </manifest>
我的shortcuts.xml位于res/xml文件夹中:
<?xml version="1.0" encoding="utf-8"?> <shortcuts xmlns:android="http://schemas.android.com/apk/res/android"> <!-- Add Start Exercise intent parameter shortcuts --> <shortcut android:shortcutId="running" android:shortcutShortLabel="@string/activity_running"> <capability-binding android:key="actions.intent.START_EXERCISE"> <parameter-binding android:key="exercise.name" android:value="@array/runningSynonyms" /> </capability-binding> </shortcut> <shortcut android:shortcutId="walking" android:shortcutShortLabel="@string/activity_walking"> <capability-binding android:key="actions.intent.START_EXERCISE"> <parameter-binding android:key="exercise.name" android:value="@array/walkingSynonyms" /> </capability-binding> </shortcut> <shortcut android:shortcutId="cycling" android:shortcutShortLabel="@string/activity_cycling"> <capability-binding android:key="actions.intent.START_EXERCISE"> <parameter-binding android:key="exercise.name" android:value="@array/cyclingSynonyms" /> </capability-binding> </shortcut> <!-- Add START_EXERCISE capability --> <!-- Add Stop Exercise intent parameter shortcuts --> <!-- Add STOP_EXERCISE capability--> <capability android:name="actions.intent.START_EXERCISE"> <intent android:action="android.intent.action.VIEW" android:targetClass="com.devrel.android.fitactions.FitMainActivity" android:targetPackage="com.myapp.android.fitactions"> <parameter android:name="exercise.name" android:key="exerciseType" /> </intent> </capability> </shortcuts>
我使用的是搭载Apple M1 Pro芯片的MacOS Monterey系统。
解决方案
- 修正包名不匹配问题:
shortcuts.xml中<capability>内的android:targetPackage值为com.myapp.android.fitactions,与清单文件的包名com.devrel.android.fitactions不一致,将其改为com.devrel.android.fitactions即可。 - 验证资源文件有效性:确认
shortcuts.xml在res/xml目录下,文件名无拼写错误(Android资源文件名区分大小写)。 - 清理重建项目:执行
Build > Clean Project和Build > Rebuild Project,重启Android Studio清除缓存。 - 检查插件兼容性:在
File > Settings > Plugins中确认Google Assistant插件为最新版本,且与Android Studio Chipmunk兼容。 - 核对meta-data配置:确保清单文件中的
<meta-data>标签android:name为android.app.shortcuts,android:resource为@xml/shortcuts,无拼写错误。
内容的提问来源于stack exchange,提问作者Vivek Vashistha
相关产品推荐
相关产品推荐

