如何打开.so文件

如何打开.so文件,第1张

打开 SO文件的最快速最容易的方法便是双击文件。这样做可以让Windows智能决定使用正确的程序打开SO文件。

若出现无法打开SO文件的情况,很可能是因为电脑上没有安装查看或编辑SO文件扩展名的恰当程序。

若电脑打开了SO文件,但使用的是错误的应用程序,则需要更改Windows注册文件关联设置。也就是说,Windows正在使用错误的程序关联SO 文件扩展名。

相信很多朋友在使用Android studio开发中,遇到过如何引入第三方so文件的问题,然而第三方官方仅仅给出了ADT环境下的集成方式。

Android studio中默认使用的是gradle编译方式,与ADT编辑方式不一样,那么so文件应当如何引入呢?

其实很简单。这里以集成JPUSH为例,看一下so文件如何引入到编译环境,最终到JNI直接可以调用该so文件。

首先,在我们的Module的根目录中建立libs目录,将jpush集成SDK中的so文件分别拷入,截图如下:

然后就是编写我们的buildgradle文件。

关于so文件引入的配置很简单,代码配置如下:

[html] view plain copy print

task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") {  

        destinationDir file("$projectDir/libs")  

        baseName "Native_Libs2"  

        extension "jar"  

        from fileTree(dir: "libs", include: "/so")  

        into "lib"  

    }  

  

    taskswithType(JavaCompile) {  

        compileTask -> compileTaskdependsOn(nativeLibsToJar)  

    }  

自定义一个任务,在其中指定项目所依赖的so文件的目录,这里用了/so来写,为了省事,指定需要拷入的目录 into "lib",那么动态运行库就被拷入到lib目录中。

完整的buildgradle文件如下:

[html] view plain copy print

apply plugin: 'comandroidapplication'  

  

android {  

    compileSdkVersion 21  

    buildToolsVersion "2110"  

  

    defaultConfig {  

        applicationId "comwujayfooterballstar"  

        minSdkVersion 8  

        targetSdkVersion 21  

        versionCode 1  

        versionName "10"  

    }  

  

    buildTypes {  

        release {  

            runProguard false  

            proguardFiles getDefaultProguardFile('proguard-androidtxt'), 'proguard-rulespro'  

        }  

    }  

  

    task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") {  

        destinationDir file("$projectDir/libs")  

        baseName "Native_Libs2"  

        extension "jar"  

        from fileTree(dir: "libs", include: "/so")  

        into "lib"  

    }  

  

    taskswithType(JavaCompile) {  

        compileTask -> compileTaskdependsOn(nativeLibsToJar)  

    }  

}  

  

dependencies {  

    compile fileTree(dir: 'libs', include: ['jar'])  

    compile 'comandroidsupport:appcompat-v7:2100'  

    compile files('libs/jpush-sdk-release172jar')  

    compile files('libs/umeng_sdkjar')  

    compile files('libs/libammsdkjar')  

}  

路径设置不同。adb安装可以找到so文件,系统集成不能找到,是由于在两种情况下环境和路径设置不同,请确保在系统集成或运行时,正确设置了共享对象文件(so文件)的路径,以使系统能够找到它们。

是手机的一些运行库文件,在系统lib的文件夹下,置换移植其他系统的程序也需要修改更换相关so文件;没有它系统软件不能运行,哪部分损坏就影响相对功能,电话接打,通讯录,相机等等都是要依赖so文件使用的。

忘了一点:so文件需要资深安卓大师更改,一般都是现成的搬运移植,打开它没有什么意义。

欢迎分享,转载请注明来源:品搜搜测评网

原文地址:https://pinsoso.cn/shuma/1006135.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-22
下一篇2023-08-22

随机推荐

  • sk2神仙水是水还是精华

    SK-II神仙水是一种护肤精华露,不是水。SK-II护肤精华露从肌肤的根本着手,呵护肌肤,促进肌肤新陈代谢,让保养成分更容易渗透肌肤里层,为肌肤打好基础,帮助改善肌肤自然生理作用,由内而外调理及修复肌肤的问题。SK-II护肤精华露还可以改善

    2024-04-15
    58200
  • 兰芝化妆品 生产日期 用手指就可以涂掉,会是假货吗?

    额,,,我敢肯定是假的,,,因为刚看了下我的那个东西,还是不会涂掉的,我买的眼霜和面膜是同学从韩国带回来的,它说假几赔几,,又没地方鉴定又没地方说理,而且还挺麻烦,它肯定说,你用了不过敏就是真货,,,像兰芝,the face shop之类的

    2024-04-15
    51400
  • 珂纯化妆品是贴牌吗

    是贴牌。珂纯化妆品并不自主研发和生产产品,而是将其品牌授权给其他化妆品公司进行生产和销售,珂纯化妆品仅提供品牌和设计,并在产品的销售和营销方面提供支持,但并不直接参与产品制造的过程。成品OEM订单起订量的要求一般是按照瓶、个、支、片的单位来

    2024-04-15
    65700
  • 四款美白身体乳分享,温和不刺激,让你瞬间白一个度!

    今天给大家分享四款美白身体乳,让大家在夏天来临之前,都变得白白嫩嫩的,爱美的小仙女必备哦!妮维雅美白身体乳德国经典护肤品牌,偶然间撸了这一瓶美白身体乳,涂了大半个月,突然发现自己的手臂变的好白,首先要说下我是一个体毛比较旺盛的女生,小时候不

    2024-04-15
    40200
  • 欧诗漫珍珠白凝乳和珍珠白保湿乳的区别

    欧诗漫珍珠白凝乳和珍珠白保湿乳的区别:1、欧诗漫珍珠白保湿乳液是一种液体,而欧诗漫珍珠白保湿凝露属于面霜类,保湿乳液的质地通常都比较轻盈,而且还比较清爽,涂抹在脸上并没有粘稠感,但保湿凝露与乳液不同,保湿凝露质地比较厚重,擦在脸上有粘腻感。

    2024-04-15
    47900
  • 抗衰老的套盒贵还是美白套盒贵

    抗衰老的套盒贵还是美白套盒贵?这个问题涉及到两个不同的护肤需求,让我们从多个角度来回答。价格方面。抗衰老的套盒通常包含多种成分和配方,用于改善细纹、提升皮肤弹性等问题。而美白套盒则主要针对肤色不均匀、暗沉等问题。从品牌和产品定位来看,抗衰老

    2024-04-15
    48900
  • 哪一款男士洗面奶具备控油美白的功效?妮维雅、欧兰雅、还是曼秀蕾敦?如题 谢谢了

    近年来,男士护肤品市场迅速发展,男士洗面奶也成为了男性日常护肤的重要产品之一。对于控油美白效果的男士洗面奶,妮维雅、欧兰雅和曼秀蕾敦都是备受瞩目的品牌。哪一款男士洗面奶具备控油美白的功效呢?让我们来看看妮维雅男士洗面奶。妮维雅一直以来都是大

    2024-04-15
    43700

发表评论

登录后才能评论
保存