1

我在网上搜索过,这个问题让我发疯。我正在使用 ANT 和 Proguard 构建移动应用程序(J2ME、BB)。

在我的javac 任务中,我添加了 debuglevel 参数,如下所示:

<javac srcdir="${src.dir}" destdir="${tmp.dir}${application.name}" failonerror="true" source="1.4" target="1.4" debug="true" debuglevel="lines,vars,source">

在我的proguard 任务中,我有:

<proguard defaultpackage="" usemixedcaseclassnames="false" note="false" microedition="true" verbose="true" printmapping="true" optimizationpasses="10" renamesourcefileattribute="SourceFile">
...
...
<keepattribute name="LineNumberTable" />
<keepattribute name="SourceFile" /> 
</proguard>

但是,当我查看 Eclipse 中的输出控制台时(在构建我的应用程序并在模拟器上启动它之后),我看不到行号,就像这样:

at com.mycomp.myapp.Main.a(+47)
at gd.a(+24)
at fq.a(+368)
at fq.b(+188)
at com.mycomp.myapp.Main.run(+29)

我正在使用 Proguard 4.8。

非常感谢你的帮助,

4

1 回答 1

2

您在 Proguard 中使用了正确的设置:

<keepattribute name="LineNumberTable" />

你看到控制台上的行号了吗?这对我有用。

于 2012-11-26T19:19:03.710 回答