JeeseC
JeeseC
  • 发布:2020-11-26 17:52
  • 更新:2021-03-18 16:47
  • 阅读:680

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

分类:uni-app

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

我在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'  

}  

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

2020-11-26 17:52 负责人:无 分享
已邀请:
2993277254@qq.com

2993277254@qq.com

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

  • JeeseC (作者)

    我有加入全套so文件,也是报这个错误提示

    2020-11-27 17:09

  • 2993277254@qq.com

    回复 JeeseC: 你ndk那里要配置的cpu类型的

    2020-11-30 08:52

  • JeeseC (作者)

    回复 2993277254@qq.com: 有的,lib加入so文件,上述文件ndk也有配置,也是一样的的问题报错。

    2020-11-30 16:18

  • 2993277254@qq.com

    回复 JeeseC:

    ndk {

    abiFilters 'armeabi-v7a','arm64-v8a','x86'

    }

    2020-11-30 16:37

JeeseC

JeeseC (作者)

@2993277254@qq.com 我已经添加了,但这个报错还一样的

王者地带

王者地带 - 5+混合APP开发教程网 | http://www.html5-app.com | 咨询QQ: 2564034335

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

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

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

  • 2993277254@qq.com

    你说的对,不然会有冲突

    2020-11-30 20:40

  • JeeseC (作者)

    说来也奇怪,我so文件放在jniLib,居然说找不到。然后我放到Libs中就说找到了。但是现在又出现其他奇奇怪怪的问题

    2020-12-02 10:59

JeeseC

JeeseC (作者)

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

  • 2993277254@qq.com

    可能是缓存问题,记得添加新的包或者so文件clean一下项目

    2020-12-02 11:20

  • wang_dv@163.com

    我怎么还是加载不到,build里要做什么配置吗?

    2021-03-18 16:59

wang_dv@163.com

wang_dv@163.com - 90后

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

要回复问题请先登录注册