如何在Eclipse中附加Android支持库源代码?

Håv*_*hus 79 eclipse zip android android-support-library

将源代码附加到外部库是非常棒的.在哪里可以找到v4 支持包的源代码?优选地,它将是一个zip文件,可以很容易地附加到android-support-v4.jarEclipse中.

and*_*ndr 122

我只想添加另一种附加支持库源的方法.它在版本20或更高版本中需要ADT.据推测,此方法适用于容器禁用设置source/javadoc位置的所有JAR.这是你需要做的:

  1. 该android-support-v4.jar库位于libs项目的目录中.在同一目录中,创建一个与所讨论的JAR完全相同的常规Java属性文件,但附加.properties扩展名.因此,对于我们的支持库,它将是:
    android-support-v4.jar.properties.

  2. 打开创建的属性文件,并将名称属性的值设置src为可以找到该库的源的位置.您的文件应该有一行,如:

    src=c:/apps/adt-bundle-windows-64bit/sdk/extras/android/support/v4/src
    
    Run Code Online (Sandbox Code Playgroud)
  3. 保存文件.

  4. 关闭并重新打开您的Android项目.

  5. 尝试浏览其中一个支持类.源附件应该现在可以使用.

在我的案例中工作得很好.

有一点需要注意:如果src不是绝对路径,它将从JAR文件的父目录开始解析.以支持库为例 - 如果src=support/src,ADT将假定类源位于libs/support/src.

可以在此处找到其作者撰写的此功能的简短描述.

如果有人对这个.properties文件的处理方式感兴趣,我建议阅读补丁集#4,尤其是 变化eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/ internal/project/LibraryClasspathContainerInitializer.java:)

编辑

另请参阅WindRider关于在具有多个引用库的项目中正确添加源的正确评论.

  • 请注意,如果您有一个包含多个引用库的大项目,而这些库又引用了android支持库,则必须确保android-support-v4.jar的所有副本都是相同的二进制文件.否则你会得到一个奇怪的错误"校验和不匹配bla bla".此外,只会导入其中一个支持lib副本,也可能包含在库项目的lib \文件夹中.要查看使用的是哪一个,请打开Package Explorer - > Android Dependencies并查看从哪里导入支持lib.然后对主项目执行相同的过程,但对于库项目. (10认同)
  • 这是"官方"和推荐的方式. (9认同)
  • 如果您使用的是Windows,请确保在`src`行中使用正斜杠. (5认同)
  • 在尝试了其余的一些后,我可以说这是最好的答案 - 应该被接受为正确的答案. (2认同)
  • @Simulant - 我不是ActionBar compat lib的专家,但是从快速的一瞥我认为要使用它,你必须将它作为一个单独的Android Lib项目导入并将其作为主项目中的依赖项引用,对吧?如果是这样,您只需要按照此处描述的步骤进行lib项目*的"libs"目录*.该目录应该有两个`.jar`文件:`android-support-v4.jar`和`android-support-v7-appcompat.jar`,你应该能够创建提到的`.properties`文件. (2认同)

Hie*_*iep 83

这里是在Eclipse Juno中附加支持库源的解决方案

我想你的项目已经存在android-support-v4.jar于"Android Dependencies"下的"Build Path"中,但你无法将sources目录附加到它.("来源附件"说"不可修改").解:

  • 转到"配置构建路径"
  • 添加外部JAR> YourProject/libs/android-support-v4.jar (我知道您的项目已经引用它但不用担心,只需再次添加).
  • 展开jar并将Source附加到外部Jar: android-sdk/extras/android/support/v4/src
  • 切换到"订购和导出"选项卡,在"Android依赖项"上方拉出外部jar

享受使用源代码导航支持库!

如果您附加了"Android测试项目" YourProject,那么YourProjectTest可能不再编译.在这种情况下,您必须返回"订购和导出"并下拉"Android依赖项"下方的外部jar以使事情恢复正常.

  • 这有所有必要的步骤,并为我工作!最后一步(订购)被排除在外,非常重要. (4认同)
  • 我在Android私有库中列出了android-support-v4.jar(APL,其上面列出了Android Dependencies),所以我不得不将新添加的.jar拉到APL之上 (3认同)
  • "Java Build Path"而不是"Configuration Build Path". (2认同)
  • 你不应该这样做.它违背了标准Android应用程序的初始设置.我建议你使用@andr的"官方"解决方案. (2认同)

Jac*_*Dam 66

从Android SDK Manager下载支持包后,您可以在文件夹<android-sdks>/extras/android/support/v4/src中找到支持包的源代码.

  • 在我的例子中,它存储在`C:\ Program Files\Android\android-sdk\extras\android\compatibility\v4\src\java`中.然后我把它的内容(android文件夹)打包成一个*.jar,用这个命令:`jar cf android-support-v4-sources.jar android /`.我将这个jar附加到android-support-v4.jar(eclipse中的java构建路径/库设置).工作得好:) (12认同)
  • 这似乎现在不起作用.我怎样才能使它工作?help.I正在使用adt 21.1.android-support-v4.jar的doc源或java源是不可修改的.右键单击项目,属性> Java构建路径>库选项卡,Android私有库> android-support-v4.jar - 源附件:(无) - 不可修改.:( (5认同)
  • Ok.got它工作.android-support-v4.jar需要在`Referenced Libraries`中右键单击,`Build Path..`,`Add to Path`.然后在`Referenced Libraries`中,右键单击android-support-v4上的属性并设置源代码. (3认同)

hap*_*ude 16

引用接受的答案,也可以直接从目录附加源,而不构建.jar文件.从Java build path/libraries选项卡,展开android-support-v4.jar,突出显示"Source attachment",单击"Edit ...","External Folder ..."然后指向(android-sdk)\ extras\Android的\ SUPPORT\V4.

这是使用eclipse indigo测试的.

来自评论:

如果您的支持库位于项目的"Android Dependencies"文件夹中,则似乎无法将源添加到支持库.解决方法是从相同的"Java构建路径/库"选项卡单击"添加外部JAR ..."并在您的(android-sdk)\ extras\android\support\v4路径中找到.jar文件.然后它将出现在新的"Referenced Libraries"文件夹下的项目设置中.

  • 当然,如果您没有不允许将源附加到jar的错误. (5认同)
  • 它全都是灰色的,它说"不可修改" (3认同)
  • 如果您的支持库位于项目的"Android Dependencies"文件夹中,则似乎无法将源添加到支持库.解决方法是从相同的"Java构建路径/库"选项卡单击"添加外部JAR ..."并在您的(android-sdk)\ extras\android\support\v4路径中找到.jar文件.然后它将出现在新的"Referenced Libraries"文件夹下的项目设置中.然后,您可以将源附加到此.jar文件,如原始答案中所示. (2认同)