gpt4 book ai didi

android - Android Studio 库项目缺少 R.String

转载 作者:行者123 更新时间:2023-11-29 20:56:40 26 4
gpt4 key购买 nike

我按照以下步骤创建了一个库项目:

  1. 创建一个没有 Activity 的普通 Android 项目
  2. apply plugin: 'com.android.application' 更改为 apply plugin: 'com.android.library' from build.gradle
  3. build.gradle 中删除 applicationId "..."

然后我将库项目包含在我的应用程序中:

  1. 将我的 settings.gradle 更新为 include ':app', '..:NotifierLib:library'
  2. File -> Project Structure ... -> app -> Dependencies -> Add -> Module dependency 中添加了库模块

一切正常,我可以构建应用程序并在我的设备上运行它,但是当库中指定的组件尝试访问库资源时它会崩溃。在我的例子中,我实现了 BroadcastReceiver 和 PreferenceItem。如果调用 BroadcastReceiver,它会更新项目并因此访问一些字符串资源:

String key = context.getResources().getString(R.string.myKey);

但是,当调用 BroadcastReceiver 时,应用程序崩溃并出现以下错误:

java.lang.NoClassDefFoundError: goe.math.uni.notifierlib.R$string

如您所见,应用程序尝试访问库中的 R.string,但失败了,尽管资源存在于库中。我做错了什么?

最佳答案

那么,回答吧。资源引起了冲突。确实没有一种方法可以避免冲突。但是,当我完成了我创建的库的项目时,我发现避免冲突的最佳方法是从一开始就创建我的库。尝试从现有代码中提取内容以创建一个库可能会很麻烦。

关于android - Android Studio 库项目缺少 R.String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27484626/

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