添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Uni-app 以Module方式开发Android插件,引入第三方资源包so文件,但无法读取

Android uniapp原生插件

问题如上图所示,当我调用该功能(原生)报错,并退出程序。

我在Module中已经引入so文件,在本地项目中是可以找到资源的

build.gradle也已经配置好了相关参数,如下代码

apply plugin: 'com.android.library'  
android {  
    compileSdkVersion 30  
    buildToolsVersion "29.0.3"  
    defaultConfig {  
        minSdkVersion 19  
        targetSdkVersion 30  
        versionCode 1  
        versionName "1.0"  
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"  
        consumerProguardFiles 'consumer-rules.pro'  
        sourceSets{  
            main(){  
                jniLibs.srcDirs = ['libs']  
        multiDexEnabled true  
        ndk {  
            abiFilters 'armeabi'  
        buildTypes {  
            release {  
                minifyEnabled false  
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'  
repositories {  
    flatDir {  
        dirs 'libs'  
dependencies {  
    compileOnly fileTree(dir: 'libs', include: ['*.jar'])  
    compileOnly fileTree(dir: '../app/libs', include: ['uniapp-v8-release.aar'])  
    //noinspection GradleCompatible  
    compileOnly "com.android.support:recyclerview-v7:28.0.0"  
    //noinspection GradleCompatible  
    compileOnly "com.android.support:support-v4:28.0.0"  
    //noinspection GradleCompatible  
    compileOnly "com.android.support:appcompat-v7:28.0.0"  
    implementation 'com.alibaba:fastjson:1.1.46.android'  
    implementation 'com.facebook.fresco:fresco:1.13.0'  

但是,依旧无法实现功能(录制小视频的功能,但界面需要高度自定义设计,参数设置)

问题如上图所示,当我调用该功能(原生)报错,并退出程序。 我在Module中已经引入so文件,在本地项目中是可以找到资源的 build.gradle也已经配置好了相关参数,如下代码 apply plugin: ...

8 个回复

  • 2***@qq.com

    赞同来自:

    好像cpu只支持v7a,v8a,x86,没有你的那种了

  • JeeseC

    赞同来自:
  • 王者地带

    赞同来自:

    如果os文件是放在jniLibs 文件夹下就要把这个去掉

    sourceSets{    
                main(){    
                    jniLibs.srcDirs = ['libs']    
    

    如果是放在libs 文件夹下,才需要 jniLibs.srcDirs = ['libs'] 来指定引用目录

  • JeeseC

    赞同来自:

    解决方案:
    把so文件放到主app下的Libs文件下(采用拖拽方式引入,根目录粘贴会出现加载不到情况,不知为何?)
    至于为什么不能放在JniLibs下,我也不清楚,总之加载不到。

  • w***@163.com

    赞同来自:

    请问解决了吗?我也是 不知道哪里的问题

  • 小权

    赞同来自:

    有的第三方SDK没有提供某个架构的abi(比如X86),那就不能编写uniapp原生插件了吗

  • DejaVu8023

    赞同来自:

    jniLibs和Libs是主app下的 还是moudel下的

  • DejaVu8023

    赞同来自:

    我现在的问题是 android插件打包成aar包集成在HbuilderX,从HbuilderX运行的时候模拟器可以读取so并且调用方法 真机上就不行

0 个回复被折叠
登录进行回复