![](https://img.haomeiwen.com/i2656764/b1d475c5f7da303a.png)
1. java反汇编 javap
- 手动命令行
javap
javap -classpath bin/classes -p -s com.tg.xx.Class
- IDE上配置
External Tools
Android studio- name:
javap
(任意命名) - Program:
$JDKPath$\bin\javap.exe
- Arguments:
-classpath $OutputPath$ -p -s $FileClass$
- Working directory:
$ProjectFileDir$
如下图:
External Tools
- name:
- 操作的时候先选中Java源文件,然后 选择 右键菜单 或者 工具栏 Tool 菜单
image.png
2.javah配置如下
-classpath .;$ModuleSdkPath$\platforms\android-22\android.jar -jni -encoding $FileEncoding$ -d $ModuleFileDir$/src/main/jni/ $FileClass$
注意:如果使用 javah -jni
没有指定 -encoding $FileEncoding$
源文件的编码格式,可能会出现"错误: 编码GBK的不可映射字符"的错误
以上,使用javah "-d"
选项指定输出目录,默认会以源文件的完全限定名作为输出.h文件的名字,可能会很长很丑,那也可以使用“-o”
选项自己指定文件名
-classpath .;$ModuleSdkPath$\platforms\android-22\android.jar -jni -encoding $FileEncoding$ -o $ModuleFileDir$/src/main/jni/$Prompt$ $FileClass$
其中$Prompt$
选项会弹出一个输入框,让你输入文件名,-d
和-o
只能同时使用一个
![](https://img.haomeiwen.com/i2656764/5259beaa8f60c58d.png)
3. NDK-BUILD
ndk-build NDK_LOG=1 NDK_DEBUG=0
其中NDK_DEBUG=0
表示编译release版本,NDK_DEBUG=1
表示编译debug版本
![](https://img.haomeiwen.com/i2656764/5e0d3f105d6c188b.png)
4. Eclipse external tool
-classpath ${project_loc}\bin\classes -d ${project_loc}\jni -jni ${java_type_name}
![](https://img.haomeiwen.com/i2656764/8f3d745da23893a5.png)
网友评论