【问题标题】:Converting Android application to android library gives Error: constant expression required将 Android 应用程序转换为 android 库会出现错误:需要常量表达式
【发布时间】:2016-12-30 08:51:34
【问题描述】:

我有一个 Android 应用程序,我希望将其转换为库以在另一个应用程序中使用。我已在 gradle 文件的应用插件部分将 com.android.application 更改为 com.android.library。删除了应用程序 ID。在库的 Launcher 应用程序中删除了 Launcher 意图。但是当我构建这个项目时,我遇到了几个需要像R.id.imageButton 这样的常量表达式的错误。

其他一些帖子表明在需要“常量”的 switch case 中使用了 id。因此,一种解决方法可能是用 if-else 结构替换 switch case。但这是唯一的方法吗?另外,如果是的话,既然我将项目切换到库而不是应用程序,为什么不将 id 视为常量?

【问题讨论】:

  • @IntelliJAmiya 我看过这个链接,它主要告诉我们更新 gradle 文件中的插件。如前所述,我这样做了,在重建时我得到了那些“需要常量表达式”的错误。

标签: java android android-library android-application-class


【解决方案1】:

你需要将switch隐蔽到if/else代码块中。

参考:Non-constant Fields in Case Labels

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-29
    相关资源
    最近更新 更多