Android studio3.2 NDK external tools配置

记录:

1、ndk-build配置

1.1nkd-build参数设置,网上没有参数的都是忽悠的,感谢

https://blog.csdn.net/heiheiya/article/details/80772567

File->Settings->Tools->External Tools

点击”+”号,添加NDK Build

Name: NDK Build 
Group: NDK 
Description: NDK Build 
Tools Settings: 
Program: Ndk安装目录/ndk-build.cmd 
Parameters:NDK_PROJECT_PATH=$ModuleFileDir$/build/intermediates/ndk NDK_LIBS_OUT=$ModuleFileDir$/src/main/libs NDK_APPLICATION_MK=$ModuleFileDir$/src/main/jni/Application.mk APP_BUILD_SCRIPT=$ModuleFileDir$/src/main/jni/Android.mk V=1 

NDK_PROJECT_PATH=$FileDir$/../../../build/intermediates/ndkBuild/release
NDK_LIBS_OUT=$FileDir$/../libs
NDK_APPLICATION_MK=$FileDir$/Application.mk
APP_BUILD_SCRIPT=$FileDir$/Android.mk

Working directory: $SourcepathEntry$          //一定要写这个,网上写其他参数的都没有通用性

2、javah配置

2.1 javah参数设置

Name: Javah 
Group: NDK 
Description: Javah 
Tools Settings: 
Program: 你的Java JDK安装目录/bin/javah.exe 
Parameters: -v -jni -d $ModuleFileDir$/src/main/jni $FileClass$ 

Working directory: $SourcepathEntry$

3、NDK混淆的相关注意事项

-dontskipnonpubliclibraryclasses # 不忽略非公共的库类
-optimizationpasses 5            # 指定代码的压缩级别
-dontusemixedcaseclassnames      # 是否使用大小写混合
-dontpreverify                   # 混淆时是否做预校验
-verbose                         # 混淆时是否记录日志
-keepattributes *Annotation*     # 保持注解
-ignorewarning                   # 忽略警告
-dontoptimize                    # 优化不优化输入的类文件
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*  # 混淆时所采用的算法
-keepclasseswithmembernames class * {
    native <methods>;
}
-keep class com.pax.ndk.PaxNdk { *; }
-keep class com.pax.utils.NativeScanner {
     public  void callback(java.lang.String);
}
-keepclasseswithmembers class com.pax.ndk.PaxNdk{
    public static void callbackPrint();
}

3.2、回调方法不能混淆,否则JNI将不能找到方法,注意上面两处红色地方,都可达到不混淆方法的效果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值