我想从给定的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;
}
您必须创建自己的“getClock()”版本,执行与C/C++代码在NDK库中所做的“相同”的操作。这是可能的,如果你有库源代码。