NDK
文章平均质量分 92
张雨zy
这个作者很懒,什么都没留下…
展开
-
Android ndk通过native校验app包名和app签名(授权使用)
通过native进行校验,更安全,来判断当前app是否有权限使用该so库。如果无权限,则会直接退出。native-lib.cpp (授权部分)#include <jni.h>#include <string>//可以使用的包名const char *PACKAGE_NAME = "com.zhangyu.myverificationtest";//APP的签名const char *APP_SIGNATURE = "308202e4308201cc020101300d原创 2020-10-09 19:27:13 · 2450 阅读 · 2 评论 -
Android中使用md5加密的两种方式(java方法,native方法)
一、Java方法调用md5加密(内置) /** * Java中的md5 * @param content 输入的值 * @return 输出md5加密后的值 */ public static String md5Java(String content) { byte[] hash; try { hash = MessageDigest.getInstance("MD5").digest(conte原创 2020-10-09 17:06:12 · 2153 阅读 · 1 评论 -
Android ndk在c/c++中加入Android日志系统
AndroidLog.h#ifndef MYVERIFICATIONTEST_ANDROIDLOG_H#define MYVERIFICATIONTEST_ANDROIDLOG_H#include <android/log.h>#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG , "zhangyu123", __VA_ARGS__)#define LOGE(...) __android_log_print(ANDROI原创 2020-10-09 16:48:22 · 224 阅读 · 0 评论 -
Android OpenSLES 播放PCM数据
MainActivity.javapackage com.zhangyu.androidopensl;import androidx.annotation.NonNull;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.os.Environment;imp...原创 2020-05-05 17:08:45 · 481 阅读 · 0 评论 -
Android studio 引入FFmpeg422+libx264 并支持命令行工具
Android Studio 引入 FFmpeg-339/405支持命令行工具1. 复制以下文件到项目中编译后的根目录下的config.h源码中fftools下的cmdutils.ccmdutils.hffmpeg.cffmpeg.hffmpeg_filter.cffmpeg_hw.cffmpeg_opt.c几个文件复制到Android cpp/include目录下...原创 2020-05-03 09:54:36 · 549 阅读 · 2 评论 -
Android Studio 引入 FFmpeg-339/405
1.新建C++工程新建两个externalNativeBuild一个sourceSets(指定so路径)android { compileSdkVersion 29 buildToolsVersion "29.0.3" defaultConfig { ... externalNativeBuild { ...原创 2020-03-17 10:57:45 · 536 阅读 · 0 评论 -
Android 使用abiFilters 解决 .so is 32-bit instead of 64-bit 问题 ndk
今天在添加讯飞语音识别的时候出现问题:/lib/arm64/libmsc.so" is 32-bit instead of 64-bit2019-11-03 17:08:38.227 29389-29389/com.jianji.delogo E/MscSpeechLog: loadLibrary msc error:java.lang.UnsatisfiedLinkError: dlope...原创 2019-11-03 17:16:03 · 5533 阅读 · 0 评论 -
Android C++多线程
Android C++ 线程简介我们都知道Android是基于Linux内核的,而Linux是遵循POSIX线程标准的,POSIX线程库中有一系列Pthreads API方便我们对Linux线程的操作。所以我们在Android中使用C/C++线程也就转到了使用POSIX线程库。他们都在头文件“pthread.h”中。创建子线程1、pthread_t:用于声明一个线程对象如:pthrea...原创 2019-03-14 14:26:12 · 1263 阅读 · 0 评论 -
Android NDK下编译好的so文件给其他项目使用
1.创建一个module,包名要同so库中定义的一致2.在该module的gradle文件中指定jinLibs的路径,并同步下项目sync3.将so文件放到此目录下4.在对应的目录下创建java文件调用native方法这里的.cpp文件就是so库的源码,和java层相对应Java_com_example_myndkkk_FfmpegManager_getMusic3D...原创 2019-02-13 18:01:25 · 1067 阅读 · 0 评论 -
Android NDK 传入参数和返回,简单Demo
FfmpegManager.javapackage com.example.myndkkk;public class FfmpegManager { // Used to load the 'native-lib' library on application startup. static { System.loadLibrary(&quot;native-lib&quot;...原创 2019-02-13 15:37:17 · 976 阅读 · 0 评论 -
Android NDK ABIs [armeabi] are not supported for platform
方案一:下载v16及其以下的ndk版本由于ndk(v17)已不在支持mips、armeabi等CPU架构,只支持armeabi-v7a, arm64-v8a, x86, x86_64目前的解决方法是,下载一个旧版本的ndk,只要是17以下的就行,然后重新再studio中指定ndk为新下载的路径即可官方下载地址:https://developer.android.google.cn/ndk/d...原创 2019-02-13 15:15:12 · 5229 阅读 · 1 评论 -
Android studio Cannot resolve corresponding JNI function ……unimplementedNameFromJNI
原创 2019-02-09 10:30:32 · 729 阅读 · 0 评论