使用javap获取Android活动的方法签名

使用javap获取Android活动的方法签名,android,javap,Android,Javap,当我在命令行javap-sjava.awt.Label中编写时,我成功地获得了Label的签名。现在我想获得Android活动类的签名。但是如果我写javap-s android.app.activity它会导致错误:找不到android.app.activity 我做错了什么?我是否应该更改路径env var或其他内容?转到您的应用程序目录并 javap -s -classpath bin/classes com.example.myActivity 编辑 对于Android核心类,添加bo

当我在命令行
javap-sjava.awt.Label
中编写时,我成功地获得了
Label
的签名。现在我想获得Android活动类的签名。但是如果我写
javap-s android.app.activity
它会导致
错误:找不到android.app.activity


我做错了什么?我是否应该更改路径env var或其他内容?

转到您的应用程序目录并

javap -s -classpath bin/classes com.example.myActivity
编辑

对于Android核心类,添加
bootclasspath

javap -s -bootclasspath /opt/android-sdk/platforms/android-8/android.jar -classpath bin/classes android.app.Activity

你应该在课堂上打电话——或者这是一个打字错误?@Dave Newton呃。。。据我所知,活动是一门课。如何更改cmdline请求以获取活动方法签名?呃
android.app.activity
不是
android.app.Activity
is。ADK类必须位于您的类路径上;从这里我看不出他们是不是。(如果javap对它们起作用;不确定什么时候/如何使用lunk和/或dexed。)而且
路径
类路径
没有关系(总之,为了避免问题,我更喜欢
-cp
。@Dave Newton
javap-s android.app.Activity
也没有帮助。@Dave Newton谢谢你的回答。类路径设置在哪里,以便
javap
可以找到它?谢谢:)为什么不把它添加到类路径中呢?@Dave Newton:实际上我在Eclipse中工作,有针对不同Android版本(不同的Android-X/Android.jar文件)的项目,所以我没有在任何地方手动设置类路径。我将更明确地说:为什么不把它添加到
-CLASSPATH
参数中?@Dave Newton:没有真正的原因:)@Dave Newton:有趣的是,它确实有区别,因为
rt.jar
android.jar
是不同的:
javap-s-CLASSPATH/opt/android sdk/platforms/android-8/android.jar:bin/classes java.lang.System
包含
getCallerClass()
javap-s-bootclasspath/opt/android sdk/platforms/android-8/android.jar-classpath bin/classes java.lang.System
不。。。