android studio生成so,防止反编译

本文介绍了如何在Android Studio中生成.so文件,以增强应用的安全性,防止代码被反编译。主要步骤包括下载并使用NDK资源文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、下载NDK资源文件

1、 下载地址:http://www.androiddevtools.cn/,android开发很多常用的工具都可以在这个网站上下载
2、解压NDK下载文件,配置NDK环境

在Path路径的后面追加分号然后将ndk路径配置上去就OK了


3、在android studio中配置ndk路径


4、测试NDK是否配置成功

在命令行中输入ndk-build,如下表示配置成功



二、新建一个项目,在app的build.gradl下加入
1、
defaultConfig {
    applicationId "com.example.sky.myndk"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    ndk {
        moduleName "MyNdk"//生成的so名字  
        ldLibs "log", "z", "m"//链接时使用到的库  
        abiFilters "armeabi", "armeabi-v7a", "x86","arm64-v8a","x86_64"//输出指定五种种abi体系结构下的so库,也可以根据自己需求生成所需要的对用so库  
    }
}


 defaultConfig {
        applicationId "jni.svse.com.jnitest2"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        ndk{
            moduleName "NDKDEMO"         //生成的so名字
            ldLibs "log", "z", "m"       //链接时使用到的库
            abiFilters "armeabi", "armeabi-v7a", "x86"  //输出指定三种abi体系结构下的so库。目前可有可无
        }
    }

2、在gradle.properties里添加


 android.useDeprecatedNdk=true


3、在main下新建一个JNI文件夹




4、新建一个调用的C++的类


public class MyNative {
    static {
        System.loadLibrary("MyNdk");//MyNdk可以随便取,但是必须和moduleName "MyNdkO"的名字一样
    }
    public static native String GetData();
}

此时GetData会出现红色,不要紧,Alt+Enter,android  studio会在jni下自动帮你生成MyNd.c
#include <jni.h>,如下

JNIEXPORT jstring JNICALL
Java_com_example_sky_myndk_MyNative_GetData(JNIEnv *env, jclass type) {
    // TODO

    return (*env)->NewStringUTF(env, "12315");//这里可以添加你自己想要的逻辑代码
}
最后gradle编译下,再重新


就可以生成so库了。








得到生成的so文件
注意在建类引用so库时必须和生成的包名一致才能成功调用




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值