80,358
社区成员
发帖
与我相关
我的任务
分享
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := AVILibPlayerT2
LOCAL_SRC_FILES := \
Common.cpp \
com_example_avilibplayert2_AbstractPlayerActivity.cpp \
com_example_avilibplayert2_BitmapPlayerActivity.cpp
LOCAL_STATIC_LIBRARIES += avilib_static
LOCAL_LDLIBS += -ljnigraphics
LOCAL_ALLOW_UNDEFINED_SYMBOLS := true
include $(BUILD_SHARED_LIBRARY)
$(call import-module,transcode-1.1.7/avilib)
LOCAL_PATH:=$(call my-dir)
#
#转码AVILib
#
#源文件
MY_ABILIB_SRC_FILES:= avilib.c platform_posix.c
#包含导出路径
MY_AVILIB_C_INCLUDES := $(LOCAL_PATH)
#
#AVILib静态
#
include $(CLEAR_VARS)
#模块名称
LOCAL_MODULE := avilib_static
#源文件
LOCAL_SRC_FILES := $(MY_AVILIB_SRC_FILES)
#包含导入路径
LOCAL_EXPORT_C_INCLUDES := $(MY_AVILIB_C_INCLUDES)
#构建静态库
include $(BUILD_STATIC_LIBRARY)
#
#AVILib共享
#
include $(CLEAR_VARS)
#模块名称
LOCAL_MODULE := avilib_shared
#源文件
LOCAL_SRC_FILES := $(MY_AVILIB_SRC_FILES)
#包含导出路径
LOCAL_EXPORT_C_INCLUDES := $(MY_AVILIB_C_INCLUDES)
#构建共享库
include $(BUILD_SHARED_LIBRARY)
jint Java_com_example_avilibplayert2_AbstractPlayerActivity_getHeight
(JNIEnv * env, jclass clazz, jlong avi){
return AVI_video_height((avi_t*)avi);
}
12-18 13:17:51.863 17958-17958/com.example.avilibplayert2 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.avilibplayert2, PID: 17958
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "AVI_video_height" referenced by "/data/app/com.example.avilibplayert2-1/lib/arm64/libAVILibPlayerT2.so"...
at java.lang.Runtime.loadLibrary(Runtime.java:384)
at java.lang.System.loadLibrary(System.java:1086)
at com.example.avilibplayert2.AbstractPlayerActivity.<clinit>(AbstractPlayerActivity.java:51)
at java.lang.Class.newInstance(Native Method)
at android.app.Instrumentation.newActivity(Instrumentation.java:1070)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2349)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2511)
at android.app.ActivityThread.access$900(ActivityThread.java:165)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1375)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:5621)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_Z14AVI_frame_sizeP5avi_tl" referenced by "libAVIPlayer.so"...
您好,想问一下avilib.h怎么配置进去的,我的一直是could not find avilib.h
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion '25.0.0'
defaultConfig {
applicationId "com.example.avilibplayert2"
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets.main.jni.srcDirs = []
//禁止自带的ndk功能
sourceSets.main.jniLibs.srcDirs = ['src/main/libs','src/main/jniLibs'] // <-- 你的.so库的实际路径
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:26.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
}