`
steven-zhou
  • 浏览: 212422 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

只保留某个目录下最新的so文件[用于清除LCULIB目录下的老so文件]

    博客分类:
  • Bash
F# 
阅读更多
#!/bin/sh
#
# remove old so-lib at make submit
#
# @auth zhoulin@lianchuang.com
#

#
# Usage:
#	keep_single_dir /ngboss/tuxapp/lculib /ngboss/tuxapp/lculib_old
#
keep_sosingle() {
	LCULIBDIR=$1
	LCULIBDIR_OLD=$2
	find $LCULIBDIR -type f -name "lib*" | awk -F\- '{print $1}' | sort | uniq |\
	while read prefix_so; do
		idx=1
		ls $prefix_so* | sort -r | \
		while read file; do
			if [ $idx -ne 1 ]; then
				echo "moving " $file " from " $LCULIBDIR " to " $LCULIBDIR_OLD
				mv $file $LCULIBDIR_OLD
			fi
			let idx=idx+1	
		done
	done
}

keep_sosingle $1 $2


分享到:
评论

相关推荐

    编译so文件 Unity调用so文件样例

    4. **构建SO文件**:使用NDK的`ndk-build`或Gradle的`externalNativeBuild`配置来编译C/C++代码,生成对应的ABI目录下的.so文件。例如,对于armeabi-v7a,会在`libs/armeabi-v7a`目录下生成`libmylib.so`。 接下来...

    预置三方apk的so文件和so文件的执行权限.txt

    `{00777,AID_SYSTEM,AID_SYSTEM,0,"system/app/RemoteAssistance/lib/arm/lib_RongRTC_so.so"}` 这条配置表明,`lib_RongRTC_so.so`这个SO文件被放置在了`/system/app/RemoteAssistance/lib/arm/`目录下,并且拥有`...

    so文件(全平台)so

    尽管SO文件是Linux环境下的概念,但类似的机制存在于其他操作系统中。比如在Windows上,对应的文件是.DLL动态链接库;在macOS和iOS上,是.dylib或.framework。尽管格式和API有所不同,但原理基本一致,都是为了实现...

    linux下生成so文件并且调用so文件的方法

    在Linux环境下,生成和调用共享库(SO文件,即Shared Object)是常见的软件开发实践。SO文件允许多个程序共享同一段代码,节省内存并提高系统效率。下面将详细介绍如何生成SO文件以及如何在应用程序中调用它们。 一...

    qt生成so文件,再调用so文件-1.pdf

    "Qt 生成 so 文件并调用 so 文件" Qt 是一个跨平台的应用程序开发框架,它支持多种操作系统,包括 Windows、Linux 和 macOS。在 Linux 系统中,因为不支持 dll 文件,而是支持 so 文件,因此,需要生成 so 文件...

    libstdc++.so.6: 无法打开共享对象文件: 没有那个文件或目录

    ### libstdc++.so.6: 无法打开共享对象文件: 没有那个文件或目录 #### 问题概述 用户在CentOS 7.6环境中遇到了“libstdc++.so.6: 无法打开共享对象文件: 没有那个文件或目录”的错误提示。该问题通常出现在尝试...

    LINUX动态库.so嵌套.so文件

    `build_so_with_so`目录可能包含了构建嵌套.so文件的步骤,包括源码编译和链接。在C或C++代码中,使用`dlopen()`和`dlsym()`等函数可以实现运行时动态加载和调用库中的函数,这种方法称为运行时链接,它允许程序在...

    linux下构建多目录下Makefile产生so动态库样例

    在Linux环境下,构建多目录下的Makefile以生成.so动态库是一项常见的任务,特别是在大型软件项目中。这样的项目通常包含多个源文件,分布在不同的目录结构中,每个目录可能有自己的子Makefile,最终通过主Makefile来...

    so文件生成与使用

    接着,将生成的.so文件放入项目的jniLibs目录下,对应不同的ABI子目录。例如,armeabi-v7a的.so文件应放在jniLibs/armeabi-v7a/目录下。这样,当APK打包时,Android Gradle插件会自动包含相应架构的.so文件。 在...

    android串口so文件.zip

    在项目的jniLibs目录下,创建对应的子目录(如armeabi-v7a和arm64-v8a),然后将对应的.so文件放入相应目录,Gradle会在构建时自动将这些库打包到APK中。 为了确保串口通信的稳定性和可靠性,还需要关注以下几个...

    Tess-two编译可用.so文件 2018

    5. **打包.so文件**:生成的.so文件需要被包含到Android应用的APK中,通常放在项目的`jniLibs`目录下,不同架构的文件放在相应的子目录中,如`armeabi-v7a`、`arm64-v8a`等。 6. **在Java代码中调用**:在Android...

    so编写和Python调用.so文件

    4. **设置权限**:在某些情况下,可能需要更改`.so`文件的权限,使其可执行。例如,`chmod +x libmyfunctions.so`。 5. **Python中导入动态库**:在Python中,可以使用`ctypes`模块来加载和调用`.so`文件中的函数。...

    QNX系统中添加自己编译的.so库.zip_QNX .so文件_SO打包_qnx文件_qnx系统g++编译_so库

    7. **部署到QNX系统**:将编译好的.so库和所有依赖复制到目标QNX系统的适当目录,通常是/lib或/usr/lib。同时,如果库依赖于特定的动态库,需要将它们也一并部署。 8. **运行和调试**:在QNX系统上运行程序,检查...

    libmysqlclient.so.20和libmysqlclient.so

    用于补充缺少的库文件,libmysqlclient.so.20和libmysqlclient.so 用于补充缺少的库文件,libmysqlclient.so.20和libmysqlclient.so 用于补充缺少的库文件,libmysqlclient.so.20和libmysqlclient.so 用于补充缺少的...

    CMake导入so文件

    在Android Studio中,我们可以在`app`目录下的`build.gradle`文件中启用CMake并指定CMake版本。例如: ```groovy android { ... defaultConfig { ... externalNativeBuild { cmake { cppFlags "" arguments ...

    as生成.so文件,并引用到其它项目中进行调用

    1. 将生成的.so文件复制到目标项目`app/src/main/jniLibs`目录下,根据不同的架构(armeabi、armeabi-v7a、arm64-v8a、x86、x86_64)放入对应的子目录。 2. 目标项目的Java代码中,同样需要`System.loadLibrary()`...

    运行时动态导入so库文件。用最少的代码实现动态导入本地so库文件示例设定so放在assets文件夹下.rar

    默认情况下,.so文件应该放在项目的jniLibs目录下,根据不同的ABI(如armeabi, armeabi-v7a, arm64-v8a, x86等)放置在相应的子目录中。然而,将.so文件放在assets目录下可以让我们有更多的控制权,但同时也需要我们...

    使用eclipse直接生成so文件

    使用eclipse直接生成so文件.使用eclipse直接生成so文件

    onnxruntime-android so文件

    - `jni`:Java Native Interface的缩写,这个目录下可能包含了与.so文件对应的C/C++头文件和源代码。 - `headers`:包含C/C++头文件,定义了API接口,供Java层通过JNI调用原生代码。 - `META-INF`:包含了应用...

    ijkplayer 播放器最新so文件

    在这个场景下,这个目录很可能包含了ijkplayer的各种架构对应的.so文件。开发者需要将这些文件复制到他们Android项目的jniLibs目录下,才能让ijkplayer在运行时被正确加载。 总的来说,ijkplayer的.so文件是其在...

Global site tag (gtag.js) - Google Analytics