提问者:小点点

Android中的ndk abi过滤器库代码如何提取?


我想从给定的Java代码中提取原生ndk库的代码。通过分析给定的Java代码,您能猜出libcore.so文件是什么吗?

public abstract class CPU {
static {
    System.loadLibrary("core");
}

public static native int getCheckRes(Context context, int i);

public static native String getClock(Context context, byte[] bArr, int i);

public static native String getMagic(Context context, int i);

public static synchronized String getClockData(Context context, byte[] bArr, int i) {
    String clock;
    synchronized (CPU.class) {
        clock = getClock(context, bArr, i);
    }
    return clock;
}
}

我想只使用Java或者通过使用上面代码中给出的System.LoadLibrary(“Core”)来获得这个方法的结果。我实际上想要这个代码块的结果在Java没有使用任何ndk库。

public static synchronized String getClockData(Context context, byte[] bArr, int i) {
    String clock;
    synchronized (CPU.class) {
        clock = getClock(context, bArr, i);
    }
    return clock;
}

共1个答案

匿名用户

您必须创建自己的“getClock()”版本,执行与C/C++代码在NDK库中所做的“相同”的操作。这是可能的,如果你有库源代码。