制作一个 Android 项目的组件,以便在另一个 android 项目中使用它

Posted

技术标签:

【中文标题】制作一个 Android 项目的组件,以便在另一个 android 项目中使用它【英文标题】:Make a Component of Android Project for use it inside another android project 【发布时间】:2015-08-25 06:40:59 【问题描述】:

我将尝试解释我所了解的并希望清楚。

我有一个现有的 android 项目(项目 A)和第三家公司开发的 android 项目(项目 B)(具有不同的包),应该集成到我的项目中。因此,从我的项目 (A) 的一个按钮中,我必须打开项目 B 的一个活动,并传递一个参数。

我不知道该怎么做。

我尝试的解决方案如下。 通过 Manifest 中的项目 (B),我删除了带有“android.intent.category.LAUNCHER”的活动,并设置为响应某个意图。然后我在我的项目 A 中创建了一个项目引用 B。按钮和项目的启动旨在设置我并且一切正常。 (见这里:launch activities from different package) 问题是在手机中将安装这两个项目。只有项目 A 在菜单中可见,但在应用程序列表中两者都存在。这件事应该避免。

我的第二次尝试是将项目 (B) 导出到 Jar 中,然后将其作为内部或外部 Jar 包含在我的项目中。但在这种情况下,我无法创建打开项目 B 活动的意图 这些是我的一些尝试:

Intent 意图 = new Intent("applicationB.intent.action.Launch"); 开始活动(意图);

//或

Intent 意图 = new Intent(MainActivity.this, ActivityInizio.class); 开始活动(意图); //(项目B的activity中的ActivityInizio,即从Jar导入到我的项目中)

//或

意图intent2 = new Intent(); intent2.setComponent(new ComponentName("aa.bbb.ccc","aa.bbb.ccc.activity.ActivityInizio")); startActivity(intent2);

无论我尝试什么,我总是得到 ClassNotFoundException 或类似的东西。

如何实现我的目标,将第二个项目包含在我的项目中,然后能够正确使用它? 谁能帮帮我?

谢谢。

【问题讨论】:

【参考方案1】:

您可以将该项目用作项目的库。

只需创建一个库项目(项目 B)。然后将项目 B 作为库添加到项目 A。

一些有用的资源:

Getting started with android library project

How to add a Library Project to a android project?

how to start activity defined in library project

Starting Activity from Android-Library-Project

【讨论】:

我到底应该怎么做? B项目必须具有特殊性吗?或者它可能是一个普通的Android项目?项目 B 必须导出?如何?我使用日食

以上是关于制作一个 Android 项目的组件,以便在另一个 android 项目中使用它的主要内容,如果未能解决你的问题,请参考以下文章

在后台从 React 组件制作 HTML 字符串,如何在另一个 React 组件中通过危险的SetInnerHTML 使用该字符串

如何在另一个组件中获取指令/组件实例?

如何在另一个java项目中使用带有共享对象的jar文件

如何在另一个项目中重用 sylius 组件?

Angular 2,RC5 路由器插座在另一个路由器插座内

在eclipse中,无法在另一个android项目中引用一个android库项目