问题标签 [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 - ActivityNotFoundException(是,此活动在 AndroidManifest.xml 中声明)
我发现一些线程报告了类似的问题,但它们都没有真正提供我还没有尝试过的东西。
一个无辜的这样的电话:
在 AndroidManifest.xml 中包含以下内容:
触发以下异常:
问题是,在我将它从一个单一的应用程序项目更改为一个由库项目和一个应用程序项目组成的两部分项目之前,这段代码曾经完美地工作过。
AndroidManifest.xml 是库项目中的一个。
我需要做什么来消除这个ActivityNotFoundException
?
android - 如何控制参考图书馆项目的相对路径?
我正在尝试将 LVL 库项目添加到我的应用程序项目中。它应该简单明了,但事实并非如此:
当我单击该Add...
按钮时,我会按预期收到 Library Project Selection 对话框:
我选择它,它旁边的绿色复选标记被接受。
但是,当我再次重新打开 Properties > Android 框时,它旁边会出现一个红色 X,使其无法使用:
有一个很好的答案记录了引用库项目的“微妙行为”,但是尽管在那里实现了提示(相同的根目录),我仍然遇到这个问题。
我该如何解决(或解决)这个问题?
有没有办法让 Eclipse/ADT 使用更少..\..
的 s 来表示引用的库项目的路径?(所有需要正确引用该库是..\..\thisisinsane\library
,真的不需要所有这些..\..\..\..\..\..
)
java - android库项目的问题-找不到类
我想我没有正确理解 Android 库项目。我有以下问题:
- 我在一个包中有一个库项目
a.b.c.lib
- 我有一个应用程序使用包中的库项目
a.b.c
- 我有另一个应用程序使用包中的库项目
a.b.c.pro
package 中的应用程序一切正常a.b.c
,但是我在应用程序中遇到了以下问题(在运行时)a.b.c.pro
:
java.lang.NoClassDefFoundError: a.b.c.lib.c1$c2
在应用程序中找到相同的课程a.b.c
。
那么,在这种情况下定义包的正确方法是什么?
android - proguard.cfg 在使用 LIBRARY 的导出应用程序中不起作用
我有两个版本的同一应用程序,使用与proguard.cfg
以下部分相同的部分,旨在压制所有 Log.x() LogCat 输出:
第一个版本是单片的(即不引用任何库项目)并且proguard.cfg
完全按预期工作。
第二个版本使用两个库项目(一个是我的,另一个是 Google 的 LVL)。proguard.cfg
应用程序项目和我的库项目中都放置了相同的内容。但是,在那第二个版本中,proguard.cfg
似乎根本就没有效果!
有什么可以解释的?
android - 使用 LVL 的应用程序安装两个图标
双图标传奇仍在继续......事实证明,虽然这个答案对于调试版本可能是正确的(是的,在调试时通过 Eclipse 安装 APK 时我仍然设法只显示一个图标),但似乎并非如此为导出的版本工作。
有趣的是,导出功能(成功)只生成了一个 APK,但是当安装到设备上时,启动器上会显示两个图标,而不是一个。
到目前为止,我能够识别出这个奇怪问题的唯一特别之处是它使用了一个库项目。两个Library项目,更准确地说:一个是Google的LVL,另一个是我自己的Library项目。我可能弄错了,但我没有任何其他线索说明为什么会发生这种情况:我验证了这两个库的Is Library
复选框都已选中,并且应用程序项目在该Properties > Android > Library
部分中引用了它们。
我该如何开始解决这样的问题?
更新:在深入研究(使用 检查文件系统adb shell
)后,我发现该目录/data/data/com.android.vending/cache/
包含上述应用程序的两个文件:
那么,罪魁祸首似乎是谷歌的 LVL ......但为什么会发生这种情况,为什么我是唯一一个报告这件事的人?
更新 2:前缀为 的文件AVMC_UAR
是在“从内部”或“为”应用程序访问 Android Market 时自动生成的。因此,这可能是问题的症状,而不是原因。
解开这个谜团的探索仍在继续……
android - 基于活动的应用程序可以没有活动吗?
假设我在库项目中定义了一个共享活动类,对于使用它的任何应用程序都不会更改,因此不需要子类化,我是否可以在不为它们子类化此活动的情况下创建应用程序?
为了更好地解释我的问题,假设我在图书馆项目中有一个活动:
现在我正在使用该库项目创建一个应用程序。我真的需要创造吗
只是让应用程序有自己的活动被自己引用AndroidManifest.xml
?
我能否找到一种简约方法,仅当我需要修改库的活动核心行为时才对活动进行子类化?
java - 如何将类工厂的依赖关系反向移动到库
determineSubClass
当所有涉及的类都在同一个项目中(是 的成员)时,以下代码可以很好地工作BaseClass
:
但现在,我想将 移动BaseClass
到一个共享库项目,其中SubClassOne
、SubClassTwo
和SubClassThree
并没有SubClassFour
在库中定义,而是在使用该库的应用程序中定义。
我当然可以BaseClass
回到使用这个库的每个应用程序,但我想知道:
- 有更好的解决方案吗?
- 有没有一种解决方案可以让我保留
BaseClass
在 Library 项目中并消除它了解从它派生的所有超类的需要?
编辑(回答下面的@ahmet alp balkan 问题):
ofType()
每个子类做两件事:
- 根据 String p1 的内容和其他参数 p2 和 p3 确定要实例化的子类是否属于它的类型。
- 如果答案是肯定的,它会实例化一个 self 子类的对象。否则,返回 null。
至于您的第二个问题,BaseClass
此时所有子类都拥有公共数据成员和方法,并且只有这个静态方法旨在委派确定要实例化的子类的责任。
顺便说一句,多亏了你的问题,我注意到我原来的帖子中有一个可怕的错字:“SuperClassOne”应该是“SubClassOne”等。
android - Android 在库项目 Eclipse 中使用 AndroidAnnotations
我正在制作我的应用程序的付费/免费版本,所以有一个两个应用程序使用的“图书馆项目”。
我正在尝试使用 Android 注释来清理我的代码: http ://code.google.com/p/androidannotations/
不幸的是,当我在共享库项目中使用它时,我的一个项目在 Eclipse 中出现错误: xActivity_ 类型已定义 xActivity_.java /ProjectName/.apt_generated/lib/activities/
因为 Android Annotations 会在 .apt_generated 文件夹中自动创建一个带有额外“_”的新活动,因此允许其中一个应用程序创建此文件,但另一个应用程序收到“已定义”错误。
Eclipse 中有没有办法解决这个问题?还是 Android 注释有问题?
java - 有没有办法让库知道使用它的应用程序的包名称?
有没有办法让库中的任何类(可能是活动、视图或任何其他可以访问“魔术”方法的类)知道或查询使用它的应用程序的包名称?
如果是这样,怎么做?
在运行时拥有这种能力会很棒,但在构建/编译时拥有这种能力也会很好。
android - 从 Android-Library-Project 启动 Activity
经过长时间的搜索,我找不到任何合适的解决方案。我有一个 Android 库项目,其中包含几乎所有应用程序代码。从库项目的主要活动中,我启动了一个明确的活动 A 的意图。在使用库项目的派生项目中,我扩展了这个活动 A 并添加了一些新代码。问题是 Activity A 的超类将响应而不是派生类。
在使用库项目的新项目清单中,我已经用新包声明了新活动。
这是图书馆项目的 Intent 调用:
这是派生的 AndroidActivity 类:
我无法使用 onCreate 方法
图书馆项目清单:
这里是新项目的清单:
所以我有:
我不想对库项目做太多更改,因为第三个项目应该使用现有代码和未触及的 AndroidActivity
所有其他事情对我来说都很好。例如,从新项目中使用更改的布局。
我该如何处理这个问题?也许我声明的新项目中的清单发生了变化,应该调用新活动而不是超类?
提前致谢!