Android 从另一个应用程序访问一个应用程序中类的静态最终变量

Android 从另一个应用程序访问一个应用程序中类的静态最终变量,android,static,dependencies,share,Android,Static,Dependencies,Share,当我继续思考点击“compile”会产生的技术后果时,我是否应该能够从一个项目/应用程序、从另一个项目/应用程序访问一个类上的静态最终变量?一个项目位于另一个项目的生成路径中。它进行编译,但在运行时抛出一个NoClassDefFound错误 这两个应用程序都是我的,所以我在这里有一点自由,尽管我认为这里不涉及共享用户id和过程。重要的是,课程必须在其中一个项目中进行。我不是在寻找像Android库项目或JAR库这样的解决方案 编辑:经过考虑,我放弃了这个想法,因为它有一些逻辑错误。我真正想要的似

当我继续思考点击“compile”会产生的技术后果时,我是否应该能够从一个项目/应用程序、从另一个项目/应用程序访问一个类上的静态最终变量?一个项目位于另一个项目的生成路径中。它进行编译,但在运行时抛出一个
NoClassDefFound
错误

这两个应用程序都是我的,所以我在这里有一点自由,尽管我认为这里不涉及共享用户id和过程。重要的是,课程必须在其中一个项目中进行。我不是在寻找像Android库项目或JAR库这样的解决方案


编辑:经过考虑,我放弃了这个想法,因为它有一些逻辑错误。我真正想要的似乎是让第一个应用程序为第二个应用程序提供一些功能。也就是说,第二个应用程序可以向第一个应用程序发送一些数据,并返回结果。该功能几乎没有与域相关的价值,而是技术价值,因此我想要最短最简单的解决方案。

每个应用程序实例都是沙盒,因此您无法直接访问另一个进程的内存。正如您所说,应用程序之间无阻碍的数据共享将构成一个巨大的安全漏洞

如果您需要在应用程序之间进行通信以共享数据,请查看

从文档中:

内容提供商存储和检索数据,并使所有应用程序都可以访问数据它们是跨应用程序共享数据的唯一方式;没有所有Android软件包都可以访问的公共存储区域。

编辑:

经过考虑,我放弃了这个想法,因为它有一些逻辑错误。我真正想要的似乎是让第一个应用程序为第二个应用程序提供一些功能。也就是说,第二个应用程序可以向第一个应用程序发送一些数据,并返回结果。该功能几乎没有与领域相关的价值,而是技术价值,因此我想要最短的解决方案


这也有一个解决办法

每个应用程序实例都是沙盒,因此您无法直接访问另一个进程的内存。正如您所说,应用程序之间无阻碍的数据共享将构成一个巨大的安全漏洞

如果您需要在应用程序之间进行通信以共享数据,请查看

从文档中:

内容提供商存储和检索数据,并使所有应用程序都可以访问数据它们是跨应用程序共享数据的唯一方式;没有所有Android软件包都可以访问的公共存储区域。

编辑:

经过考虑,我放弃了这个想法,因为它有一些逻辑错误。我真正想要的似乎是让第一个应用程序为第二个应用程序提供一些功能。也就是说,第二个应用程序可以向第一个应用程序发送一些数据,并返回结果。该功能几乎没有与领域相关的价值,而是技术价值,因此我想要最短的解决方案


这也有一个解决办法

文件在这一点上是错误的。阅读
SharedReferences
MODE\u WORLD\u WRITEABLE
标志:您也可以更改另一个应用程序的StoredReferences的数据,但前提是首先允许它…每个应用程序都在自己的进程中,有自己的Dalvik VM和自己的类加载器。一个包中的代码无法从另一个包自动访问。你也不希望这样,因为如果没有安装其他应用程序,那么你的应用程序将以糟糕的方式失败。@WarrenFaith:我看不出这在这里是怎么回事。OP询问如何从另一个应用程序访问内存中的静态变量。@Ed S。我只是指出引用的文档不是真的。无法使用ContentProvider或SharedReference访问另一个应用程序的静态变量。没错。错误的是,ContentProvider是跨应用程序共享数据的唯一方式,就像引用的文档中提到的那样。这就是我要指出的。@Ed S.的意图不适合这里。我想的是更低级的,比如在一个应用程序中调用“publicsomeclassdofunction(otherclassoc,…”,另一个可以调用。对于函数,我指的是处理数据的方法或数学函数。文档在这一点上是错误的。阅读
SharedReferences
MODE\u WORLD\u WRITEABLE
标志:您也可以更改另一个应用程序的StoredReferences的数据,但前提是首先允许它…每个应用程序都在自己的进程中,有自己的Dalvik VM和自己的类加载器。一个包中的代码无法从另一个包自动访问。你也不希望这样,因为如果没有安装其他应用程序,那么你的应用程序将以糟糕的方式失败。@WarrenFaith:我看不出这在这里是怎么回事。OP询问如何从另一个应用程序访问内存中的静态变量。@Ed S。我只是指出引用的文档不是真的。无法使用ContentProvider或SharedReference访问另一个应用程序的静态变量。没错。错误的是,ContentProvider是跨应用程序共享数据的唯一方式,就像引用的文档中提到的那样。这就是我要指出的。@Ed S.的意图不适合这里。我想的是更低级的,比如在一个应用程序中调用“publicsomeclassdofunction(otherclassoc,…”,另一个可以调用。对于函数,我指的是一种处理数据的方法或数学函数。在我看来,你对你想做的事情有想法,但实际上你不知道它是什么。假设有可能……如果维护静态变量的应用程序没有运行,或者如果用户卸载了特定的应用程序,会发生什么情况?@MisterSquonk我需要关于如果应用程序(没有)运行,静态变量会发生什么情况的信息。我想这正是我所看到的错误。在编译时有很多可以避免的问题,这