背景:
在做项目时,写的一个sdk用mvn打包放在apk项目的lib下,当debug此apk时,断点打在所写的sdk项目中,那么进入debug页面只能看到class状态,看不到源码,如何让源码关联jar包?
要解决的问题:
1 mvn打jar包只生成了编译后的文件jar包,所以还需要生成一个source包
2 如何关联class jar包和source jar包
操作前注意事项:打sdk 的class型jar包之前应该先打好断点,这样导入到apk项目下才可以与sdk项目对应
过程:
1 mvn 打源码包:
方法一:dos->项目目录(E:\androidagent\blueware-android-agent)->mvn clean source:jar install
则在target目录下生成想得到的source源码jar包
方法二:需要在要发布的pom项目里的pom.xml里添加如下内容:
<build>
<plugins>
<!-- 要将源码放上去,需要加入这个插件 -->
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>2.1</version>
<configuration>
<attach>true</attach>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
然后执行 mvn deploy 即可.2 关联class jar包和source jar包
方法一:
在你想要debug的项目目录下(F:\workspace\oschina-android-app\android-app)找到.classpath文件,用记事本或者notepad打开,找到你想要关联源码的jar包
(例如:<classpathentry exported="true" kind="lib" path="F:/workspace/oschina-android-app/android-app/libs/blueware-android-agent.jar")
在其后添加关联语句 sourcepath=“路径名”
(例如:<classpathentry exported="true" kind="lib" path="F:/workspace/oschina-android-app/android-app/libs/blueware-android-agent.jar" sourcepath="E:/androidagent/blueware-android-agent/target/blueware-android-agent-1.0-SNAPSHOT-sources.jar"/>)
在eclipse选中项目刷新并clean项目,再次debug即可得到想要的效果
方法二:
选择apk项目(例如:oschina)右键,Buildpath->configuration build path->libraries 选择对应的sdk下拉,选择source attachment。。。。添上source的路径即可