Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Eclipse在异常时打开错误的源文件_Android_Eclipse_Classpath_Stack Trace_Logcat - Fatal编程技术网

Android Eclipse在异常时打开错误的源文件

Android Eclipse在异常时打开错误的源文件,android,eclipse,classpath,stack-trace,logcat,Android,Eclipse,Classpath,Stack Trace,Logcat,我在Eclipse工作区中有几个Android项目: 具有类my.package.Foo 具有不同类的库项目my.package.Foo 两个依赖于库项目且不包含源代码的应用程序项目 当使用构建在库项目之上的一个应用程序时,就会出现问题。当它崩溃时(不幸的是,经常发生),我双击logcat中的堆栈跟踪行以转到相关源。问题是,如果该行用于Foo.java,Eclipse总是从独立项目打开源代码。我可以将Eclipse引导到正确的源代码的唯一方法是关闭独立项目,这有点不方便 有没有办法让Ecli

我在Eclipse工作区中有几个Android项目:

  • 具有类
    my.package.Foo
  • 具有不同类的库项目
    my.package.Foo
  • 两个依赖于库项目且不包含源代码的应用程序项目
当使用构建在库项目之上的一个应用程序时,就会出现问题。当它崩溃时(不幸的是,经常发生),我双击logcat中的堆栈跟踪行以转到相关源。问题是,如果该行用于
Foo.java
,Eclipse总是从独立项目打开源代码。我可以将Eclipse引导到正确的源代码的唯一方法是关闭独立项目,这有点不方便

有没有办法让Eclipse注意到在查找相关源文件时哪个应用程序实际上崩溃了?我假设这是某种类路径问题(类似于中描述的)。但是,我在Android运行配置属性中没有看到任何修改类路径的内容。Eclipse似乎总是按照名称的字母顺序运行工作区项目,并打开它找到的第一个
my/package/Foo.java


我正在使用最新的Android ADT和SDK版本。

根据@blessenm评论中提供的链接,这是Eclipse中logcat的问题。我们应该在SDK工具的第20版中看到一个补丁。可以看出,修复它的补丁已经完成,并将等待最终批准


同时,最好的做法是更改logcat首选项(窗口->首选项->Android->logcat),以便双击操作是“转到问题(方法声明)”而不是默认的“转到问题(错误行)”。这并不是万无一失的:它至少会打开文件,但如果有多个同名方法,它将转到第一个方法,而不管签名如何。(当修复程序被合并时,将不需要双击操作的选项,它应该从首选项中消失。)

我有一个类似的例子,但即使在编译过程中,它也使用了另一个类(我不知道假设它在我的项目中使用该类)。我只是将源代码中的完整路径/包名添加到类中,然后使用正确的class@user387184-Eclipse和Android打包工具在构建过程中肯定使用了正确的类。这只是解释堆栈跟踪的问题。但是,我理解,无论如何我都会尝试添加完整路径/包,看看这是否有助于在崩溃期间为类识别正确的java源文件-可能值得一试?@user387184我不理解您的建议。您是否建议更改使用类
Foo
的Java源代码?两个
Foo
类都在同一个包中,它们恰好位于不同的项目中,并且没有方法在Java源中指定项目路径