问题标签 [library-project]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 在重新启动 Eclipse 之前,不会应用对 Android 库项目的更改
我有一个使用 Android 库项目的主要 Android 应用程序。当我更改我的库项目时,Build Project
或者Build All
在我清理主项目或关闭并重新打开 Eclipse 之前,在主项目中未检测到更改。
我如何解决这个问题?有什么快速的解决办法吗?
更新
我在用:
日食 3.7.1
Android SDK API 15 修订版 3
Android SDK 工具第 19 版
Android SDK 平台工具 Rev 11
android - Android 库项目库依赖项
我目前正在开发一个使用多个库的项目。多个库使用 android 支持库,所以当我想编译我的应用程序时,Eclipse 会用 Dalvik 错误来抱怨它。我已经发现我的项目中应该只使用支持库 1 次。但是,这破坏了导致我无法再编译的库项目。
我应该如何正确处理这个?
android - 导出android库项目以供重用,无需源代码
出于安全原因,我需要在没有源代码的情况下导出库项目。不幸的是,库项目中生成的 jar 文件不包含资源。我不能指望这个图书馆的用户处理图书馆需要的任何资源。
有与此类似的帖子,但我还没有看到解决方案。
android - Android库如何编译排序?
我在 Android 库上遇到编译问题。假设存在四个库项目(LPA、LPB、LPC、LPD)和一个主要应用程序(MP)。LPB 参考 LPA。LPC 和 LPD 参考 LPB。MP 参考 LPC 和 LPD。
当我点击 clean all 并 compile all 时,eclipse 的 package explorer 肯定会出现很多红叉和红色问号。
如何解决这个问题呢?是我按顺序编译 LPA、LPB、LPC、LPD 和 MP。我认为这很愚蠢,但我没有其他解决方案。
因此,任何人都可以知道如何设置构建环境以按顺序编译所有项目。
非常感谢。
更新:
http://dl.dropbox.com/u/78582670/main.png
这是我的主要应用程序项目设置。我看不到其他图书馆项目。
java - 如何使用依赖于 Java 项目的 Ant 构建 Android 项目?
我有一个 Android 库项目 AndroidLib,它依赖于我的工作区 JavaLib 中的一个 Java 项目。
在 Eclipse 中,这是通过将 JavaLib 项目添加到 Java Build Path > Projects for AndroidLib 并将其设置为在Order and Export选项卡中导出来完成的,并且构建良好。
然而,在构建 AndroidLib 时,Ant 似乎并没有获得对 JavaLib 项目的依赖(我已经运行了 android update lib-project)。将此依赖项添加到我的 build.xml 的最佳方法是什么?
android - 覆盖 Android 库项目中的类
我用类似的代码制作了几个 Android 应用程序,但我需要保持灵活来自定义应用程序。我现在的解决方案是,我有一个库项目,我可以通过扩展类来覆盖项目中的功能。对于以下示例,我将 Library Project 称为 PL。P1 是一个使用 PL 的定制项目,P2 是另一个使用 PL 的定制项目。
我现在的问题是,在 PL 中我想从 StudentPL.java 创建一个实例。在 P1 中,不需要对 StudentPL 进行任何更改,因此编译器应该采用此类,但在 P2 中,我有 StudentP2.java,它从 StudentPL.java 扩展而来。所以PL做的实例,应该是StudentP2.java的实例。
我现在的想法是,我制作了一个名为 mirror 的包,它直接位于 Project PL 的 src-Folder 中。在那里,我创建了从 StudentPL.java 扩展的类 mirror.Student.java。在 Library-Project 中,我现在创建了 Student.java 的一个实例。对于项目 P1,不需要进行任何更改。在 P2 中,我在 src 文件夹中创建了相同的文件夹镜像,并且现在创建了从 StudentP2.java 扩展的相同类 mirror.Student.java。想法是,ClassLoader 现在从 P2 加载 mirror.Student.java 并忽略来自 PL 的 mirror.Student.java,但这会导致以下错误:
- Dex Loader] 无法执行dex:多个dex文件定义了Lmirror/Student;
- 转换为 Dalvik 格式失败:无法执行 dex:多个 dex 文件定义 Lmirror/Student
这是我正在谈论的UML:
http://www.koenix-band.ch/images/other/Stackoverflow.gif
也许我应该覆盖 ClassLoader,但我不知道该怎么做?有没有人有解决这个问题的想法?也许有人有另一个想法,我如何自定义应用程序。
迈克尔
android - 为什么我可以将另一个Android项目用作库项目而不设置为库项目?
好的,我知道如何将 Android 项目设置为库项目并将其添加到另一个 Android 项目作为库引用。
然而,在我这样做之后,我删除了“是库”的复选标记,所以第一个项目不是库项目,可以作为普通的 Android 项目运行。
引用第一个项目的第二个项目也运行良好,我可以更改第一个项目并仍然直接在第二个项目中使用它。
那么,当我之后可以删除复选标记并且引用仍然有效时,为什么将项目设置为库大惊小怪呢?我不明白 - 谁能解释一下?
我将 Eclipse 3.7 (Indigo) 与 ADT 插件版本 21 一起使用。
android - Android 库项目 - 调用 context.getResources().openRawResource() 时出错
我正在开发一个 android 库项目,它应该从其原始资源中的 xml 文件中读取(我们称之为 xml_file_name.myextension)。
我所做的基本上是创建一个包含这些文件夹的库项目的 jar 文件:
- 源代码
- 创
- 库
- 资源/原始
并将其作为测试应用程序中的库引用。这是我用来(在库项目中)获取 xml 文件的代码:
(我有应用程序上下文,因为应用程序将其显式传递给库项目。)
发生的情况是,当我启动测试应用程序(并调用读取 xml 文件的方法)时,我收到此错误:
看来xml文件实际上是在正确的文件夹中,因为:
1)for循环实际上打印“找到原始资源:xml_file_name.myextension”和“xml_file_id:2130968576”
2)如果我在应用程序的res/raw文件夹中放了一个名为“xml_file_name.myextension”的文件,它不会编译,并且错误是:“Error generate final archive: Found duplicate file for APK: res/raw/xml_file_name .myextension”。这基本上证明了该文件是从库项目中正确“导入”的。
请注意:我也尝试过这种其他方式
得到同样的错误。
老实说,我不明白可能是什么问题..我做错了什么?
编辑:
对于任何对此问题感兴趣的人:我终于意识到这是不可能的,主要是因为当我尝试通过 context.anymethod 获取资源时,我指的是应用程序的 R 文件,所以我无法给出从中获取的资源 ID我的库项目的 R 文件。
它将编译,因为库项目 jar 文件包含资源(R.raw.xml_file),但对 context.something 的调用将始终给出 null 作为结果,因为它引用了没有那个特定的 app R 文件里面的资源。
我最后不得不把我的 xml 文件放在应用程序的 res/raw 文件夹中,并以这种方式访问 xml_file 原始资源:
android - 我应该如何处理 Android 中库项目的多个位置?
我正在开发一个开源 Android 应用程序。我想使用多个开发平台。第一个是我的Gentoo盒子,我在其中使用ant
和emacs
开发(因为我已经使用emacs
了多年,而 Gentoo 目前缺乏对足以支持 ADT 的新 Eclipse 版本的支持)。另一个是我的 Android 平板电脑上的AIDE。
我目前遇到的主要问题与我将ActionBarSherlock用作库项目有关。自然,图书馆项目的位置在 Gentoo 盒子和平板电脑上是不同的。如果有人克隆了存储库,我想让他们尽可能轻松地进行设置。
现在,在我看来,这与通过sdk.dir
在local.properties
文件中设置解决的问题相同。所以我的第一个想法是添加一个abs.dir=<path to ActionBarSherlock>
设置,local.properties
然后我在project.properties
. 这样做ant
在 Gentoo 盒子上效果很好。
但是,它似乎不适用于平板电脑上的 AIDE。由于local.properties
没有签入 git repo,我在平板电脑上创建了一个新的,abs.dir
指向 ActionBarSherlock 的平板电脑位置。但是 AIDE 似乎没有使用它(即使它在build.xml
文件中被引用)。我知道如何设置 AIDE 以使用库项目,但这会修改project.properties
(已签入 git repo)以获得 ABS 平板电脑位置的完整路径,这绝对不是我想要的(我当然不每次在平板电脑和 Gentoo 盒子之间切换时都必须更新该文件)。
那么有没有一种方法可以在ant
Eclipse / AIDE 和 Eclipse / AIDE 中进行设置,而只需要修改系统之间的单个设置?或者我是否需要更新项目的 README 以包含有关如何设置的详细说明列表?
android - 混淆 JAR 的 Android 库项目
我有一个巨大的 android 库项目。而且我必须混淆从视图扩展的类。
我无法理解 proguard 的使用。我应该怎么做?你能一步一步描述我需要做什么吗?