2013-07-24 45 views
1

这是问题。我有两个独立的课程,包括我的应用程序。一个是广告SDK,另一个是RoboSpice。我都没有源代码,他们只是我包含的.jar文件。当这些应用程序尝试获取外部存储器的路径来写入临时文件时,它们将返回空值。我知道,因为他们转储到控制台的日志。然而,在我自己的源代码中,如果我使用的是,我假设像getexternalstorage()这样的例程,它会返回路径并让我保存文件。由于我没有这些类的源代码,我无法逐步进行调试,我只能依靠他们写入控制台的内容。Android应用程序存储路径仅为.jar类返回null

现在全文。这个项目是我从另一个开发人员继承的项目。他们在项目中使用了Maven,一些依赖依赖于非公共Maven资源。所以我继续并将其转换为标准的eclipse项目。旧的编译源在我的测试设备上存储了robospice临时文件,位于/ data/data // cache,所以我知道旧的源在过去写入设备的情况很好。关于为什么编译源将无法在设备上获得正确的存储位置的任何想法?

+0

所以..在你的项目中,你从来没有这个工作? – Math

+0

@Math如果我在非maven项目中使用我的源代码写入临时存储,它将起作用。如果外部类尝试写入非Maven项目中的临时存储,它不会。然而,在旧的Maven项目中,robospice确实成功地创建并写入了缓存文件。 –

+0

对于那些好奇的人来说,这个问题结束了,因为我正在将Activity上下文与App上下文发送给我的一个类。 –

回答

0

您可以在eclipse中包含使用this technique使用的库的来源。

RS是开源的,它的源代码可以很容易找到it's github repo

RS 1.4.6支持为缓存文件设置自定义路径,您必须为此定义自己的RS服务。初学者指南详细说明了可以实现的方式。

相关问题