android - Android应用程序构建调试成功,但在进行发布构建时找不到菜单项的R.id

标签 android android-studio gradle android-gradle-plugin

调试版本可以完美运行,但是每当我尝试从AndroidStudio生成签名的APK时,它都找不到菜单项的R.id。

这是我的menu.xml文件

<item
    android:id="@+id/actionsearch"
    android:title="Search"
    app:showAsAction="always"
    app:actionViewClass="android.support.v7.widget.SearchView"/>

<item
    android:id="@+id/actionlogin"
    android:icon="@drawable/ic_lock_outline_black_24dp"
    android:title="Login"
    app:showAsAction="always"/>

<item
    android:id="@+id/actionadddeal"
    android:title="Add Deal"
    android:icon="@drawable/ic_add_circle_black_24dp"
    app:showAsAction="always" />

<item
    android:id="@+id/actioneditvenue"
    android:title="Edit Venue"
    android:icon="@drawable/ic_edit_black_24dp"
    app:showAsAction="always" />

这是为一个示例文件进行发布构建时gradle的输出:
path\to\VenueDetailPagerActivity.java
Error:(109, 53) error: cannot find symbol variable actionlogin
Error:(109, 84) error: cannot find symbol variable actioneditvenue
Error:(109, 106) error: cannot find symbol variable actionadddeal
Error:(109, 167) error: cannot find symbol variable actionlogin
Error:(263, 22) error: cannot find symbol variable actioneditvenue
Error:(272, 22) error: cannot find symbol variable actionadddeal

奇怪的是,所有其他资源ID都没有问题。这只是我的menu.xml中的ID,并且仅在生成签名的APK时使用。有谁知道这个问题可能是什么?

最佳答案

该错误是由于我忘记将此行添加到.xml文件顶部而导致的:

<?xml version="1.0" encoding="utf-8"?>

但是,现在的跟进问题是,为什么这不会在本地调试版本中引起问题,而是在生成签名的APK时引起问题?

关于android - Android应用程序构建调试成功,但在进行发布构建时找不到菜单项的R.id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42655859/

相关文章:

javascript - iframe ng-attr-srcdoc 在较低版本的 android 中不起作用(4.3 及以下)

android - 如何将现有数据库放入 .apk 文件?

库的 Android Studio consumerProguardFiles 不起作用

java - Android Studio 在新项目上从 C++ 支持开始会出现多个错误?

performance - Gradle-jUnit测试中的性能不佳

java - 如何修复java中找不到tzdb.dat错误?

一次性购买的 Android 实时开发者通知是一半工作

android 6.0 版本结束通话的正确方法

android - 在模块guava-26.0-android.jar和guava-jdk5-17.0.jar中找到重复的类

compiler-errors - Gradle 错误 - 期望除了 ''\n'' 之外的任何内容;无论如何都明白了