最近在做视频播放那块,ffmpeg的neon移植之后,
发现yuv2rgb的转码效率太低,所以打算在jni里面,
直接将ffmpeg解码之后的yuv数据输出到SoftwareRenderer之后显示,
省去了yuv2rgb的过程。但在jni中,发现需要用到安卓源码的库和头文件。
请问这个是怎么使用的?在编译安卓源代码之后,
怎么使用?不编译源代码,从手机里面把相应的so文件和头文件拷贝到jni目录下面,可行吗?谢谢。本人对安卓不太熟悉,请多指教。谢谢各位。
为了解答这个问题而写的一篇通用类博客
目标: 目前很多Android手机已经自带了openssl库, 即libssl.so, libcrypto.so, 以下示例实现了APK通过NDK调用openssl库函数PKCS5_PBKDF2_HMAC(密钥生成算法)
1) 在android工程中创建 jni目录2) 编辑AbcJni.java
package com.example;
public class AbcJni
{
public native byte[] hashKey(byte[] key, byte[] salt, int count);
static {
System.loadLibrary("abc-jni");
}
}