Android应用程序成功构建调试,但在执行发布构建时无法找到菜单项的R.id

时间:2017-03-07 18:41:18

标签: android android-studio gradle android-gradle

调试版本运行完美,但每当我尝试从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都没有问题。在生成签名的APK时,它我的menu.xml中的ID和。有谁知道这个问题是什么?

1 个答案:

答案 0 :(得分:0)

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

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

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