gpt4 book ai didi

android - R.Id.在 android 项目中使用 maven 生成的 apklib 时丢失

转载 作者:太空宇宙 更新时间:2023-11-03 13:27:57 24 4
gpt4 key购买 nike

我有 2 个安卓项目:

  • 1 个库项目在其他几个项目中用作 API,以及生成 apklib
  • 2 个使用此 apklib 的 android 项目

在我的 apklib 项目中,我在一个布局中有一个引用的微调器 R.id.mySpinner

我有一个在 eclipse 和 maven 中编译良好的 androidproject(使用 mvn clean install)。备注:第一个项目也在一个布局中使用微调器 R.id.mySpinner 上的相同引用。

第二个 android 项目在 eclipse 下编译得很好但是当用 maven 编译时我有以下错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project myproject: Compilation failure: Compilation failure:
[ERROR] /mypath/target/unpack/apklibs/mylibpackage/src/pathtoactivity/BaseActivity.java:[302,79] cannot find symbol
[ERROR] symbol: variable mySpinner
[ERROR] location: class mypackage.R.id

我注意到,正如编译器所说,maven 编译器在目录 ..\target\generated-sources\r\mypackage\R.java 中生成的 R 不包含 mySpinner 引用,这与项目编译良好不同。

备注:第二个项目在其任何类或布局中都没有对 R.id.mySpinner 的任何引用。

所以我在这里,我不知道要再搜索了。我注意到这两个项目之间的唯一区别是上面提到的评论。我也不知道eclipse编译和mvn编译有什么区别。

有人遇到过这样的问题吗?或者你有什么提示可以帮助我找到解决方案的信息吗?

最佳答案

我终于自己找到了问题所在。问题是布局在 Android 程序项目和 apklib 项目中具有相同的名称。因此,包含对 apkklib 项目中 mypackage.R.id 的引用的布局被覆盖。

在我的例子中,库的 main.xml 布局被 eclipse 为“hello world”项目创建的 main.xml 布局覆盖,我忘记删除了。

Maven 在编译时检测到它,而 Eclipse 插件没有,这又是一个错误。

从 Android 项目中删除 secret 的“hello world”main.xml 修复了它。

关于android - R.Id.在 android 项目中使用 maven 生成的 apklib 时丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16797810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com