
扩展工具
1. java反汇编 javap
- 手动命令行
javapjavap -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只能同时使用一个

javah
3. NDK-BUILD
ndk-build NDK_LOG=1 NDK_DEBUG=0
其中NDK_DEBUG=0表示编译release版本,NDK_DEBUG=1表示编译debug版本

ndk-build
4. Eclipse external tool
-classpath ${project_loc}\bin\classes -d ${project_loc}\jni -jni ${java_type_name}

Ecipse

