Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vitamio示例错误-java.lang.UnsatifiedLinkError:Canned';t load vinit findLibrary返回null_Java_Android_Vitamio - Fatal编程技术网

Vitamio示例错误-java.lang.UnsatifiedLinkError:Canned';t load vinit findLibrary返回null

Vitamio示例错误-java.lang.UnsatifiedLinkError:Canned';t load vinit findLibrary返回null,java,android,vitamio,Java,Android,Vitamio,我在运行vitamio样本时遇到问题 我正在用Android Studio构建它,它可以很好地编译和运行,但当它达到这一行时: if (!io.vov.vitamio.LibsChecker.checkVitamioLibs(this)) return; 当我在Nexus 5(以及Galaxy S4)上运行它时,它会抛出一个异常: 示例项目保持原样。我不确定在较新版本的Vitamino(或gradle)中是否有更干净的方法。但我是如何让它与gradle构建工具0.6一起工作的 使用vi

我在运行vitamio样本时遇到问题

我正在用Android Studio构建它,它可以很好地编译和运行,但当它达到这一行时:

if (!io.vov.vitamio.LibsChecker.checkVitamioLibs(this))
    return;
当我在Nexus 5(以及Galaxy S4)上运行它时,它会抛出一个异常:


示例项目保持原样。

我不确定在较新版本的Vitamino(或gradle)中是否有更干净的方法。但我是如何让它与gradle构建工具0.6一起工作的

  • 使用vitamino source/sdk将项目添加到my/libraries目录。这有一个内部带有libvinit.so的/libs/armeabi/libs/armeabi-v7a

  • 在我的主项目的my build.gradle中,参考库项目,如:

    dependencies {
    
        // other dependencies 
    
        compile(project(':libraries:vitamio'))
    
    }
    
  • 将以下内容添加到my build.gradle的底部

    task copyNativeLibs(type: Copy) {
        from(new File(project(':libraries:vitamio').getProjectDir(), 'libs')) { include '**/*.so' }
    into new File(buildDir, 'native-libs')
    }
    
    tasks.withType(JavaCompile) { compileTask -> compileTask.dependsOn copyNativeLibs }
    
    clean.dependsOn 'cleanCopyNativeLibs'
    
    tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->
        pkgTask.jniDir new File(buildDir, 'native-libs')
    }
    

  • 然后,当我运行“清理并重新生成”时,它会将本机lib复制到适当的位置,并将它们包含在生成中。

    检查此删除(从编译行编译项目(“:libraries:vitamio”)。请确保清理您的项目构建->清理项目或。/gradlew cleanIt正在正确构建,只是看起来它没有在正确的位置复制so文件。@ShyGuy,我认为您是对的,这是因为.so没有捆绑在APK中。Android插件的更高版本中有NDK支持(如果您升级Android Studio,则需要使用它,反之亦然),因此,请先升级,如果仍有问题,请发布build.gradle文件。@ShyGuy Android gradle插件版本8支持预构建库项目,请更新版本8。或者尝试构建示例项目。我可以在Android Intel x86 Emulator上使用Vitamio库流式传输视频吗?找不到参数的方法jniDir()任务“:com.Android.build.gradle.tasks.PackageApplication类型的app:packageDebug”上的[D:\Android WorkSpace\Androidapp\app\build\native libs]。
    dependencies {
    
        // other dependencies 
    
        compile(project(':libraries:vitamio'))
    
    }
    
    task copyNativeLibs(type: Copy) {
        from(new File(project(':libraries:vitamio').getProjectDir(), 'libs')) { include '**/*.so' }
    into new File(buildDir, 'native-libs')
    }
    
    tasks.withType(JavaCompile) { compileTask -> compileTask.dependsOn copyNativeLibs }
    
    clean.dependsOn 'cleanCopyNativeLibs'
    
    tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->
        pkgTask.jniDir new File(buildDir, 'native-libs')
    }