草庐IT

SO_RCVTIMEO

全部标签

Pycharm中启动Tensorflow项目找不到libcudart.so.10.1

一、开发环境操作系统:Ubuntu18.04LTS显卡:NVIDIARTX2080Super显卡驱动:专有驱动450.142.00CUDA:10.2PyCharm版本:2020.2.5二、问题描述最近在GitHub上闲逛,Git了一个YOLOv3目标检测的项目。Git下来并且配置好环境开始运行,发现TensorFlow找不到动态库libcudart.so.10.1。开始能够想到的原因是我在本地安装的CUDA版本是10.2,项目的Tensorflow版本是2.1.0,两者可能不适配。我首先尝试在COCO数据集上运行模型训练算法,发现是可以运行的,只是训练的速度实在有点慢。看了下输出信息,发现Te

Pycharm中启动Tensorflow项目找不到libcudart.so.10.1

一、开发环境操作系统:Ubuntu18.04LTS显卡:NVIDIARTX2080Super显卡驱动:专有驱动450.142.00CUDA:10.2PyCharm版本:2020.2.5二、问题描述最近在GitHub上闲逛,Git了一个YOLOv3目标检测的项目。Git下来并且配置好环境开始运行,发现TensorFlow找不到动态库libcudart.so.10.1。开始能够想到的原因是我在本地安装的CUDA版本是10.2,项目的Tensorflow版本是2.1.0,两者可能不适配。我首先尝试在COCO数据集上运行模型训练算法,发现是可以运行的,只是训练的速度实在有点慢。看了下输出信息,发现Te

Android 32位 兼容 64位 so处理

最近华为商店平台已经要求App64位才能上架了。在下半年,所有平台都差不多会强制要求。在不久,硬件也只支持64位了,意味着,32位以后将会被淘汰。好巧不巧,最近处理的以前别人的项目,刚好全是32位的,下手特别狠,可能为了代码量小,直接把64位的so包删掉了。那么直接开门见山,讲重要几点一:设置64位的代码defaultConfig{ndk{abiFilters"armeabi-v7a"//如果添加armeabi-v7a就必须添加arm64-v8aabiFilters"arm64-v8a"abiFilters"x86"//添加x86必须添加x86_64abiFilters"x86_64"}}二:

Android开发之引用三方库导致SO库冲突的解决办法

Android开发之引用三方库导致SO库冲突的解决办法微信图片_20220416170320.png从这个图片可以看出匹配到了多个libc++_shared.sopackagingOptions{pickFirst'lib/armeabi/libc++_shared.so'pickFirst'lib/armeabi-v7a/libc++_shared.so'pickFirst'lib/arm64-v8a/libc++_shared.so'pickFirst'lib/x86/libc++_shared.so'pickFirst'lib/x86_64/libc++_shared.so'}packa

Android 32位 兼容 64位 so处理

最近华为商店平台已经要求App64位才能上架了。在下半年,所有平台都差不多会强制要求。在不久,硬件也只支持64位了,意味着,32位以后将会被淘汰。好巧不巧,最近处理的以前别人的项目,刚好全是32位的,下手特别狠,可能为了代码量小,直接把64位的so包删掉了。那么直接开门见山,讲重要几点一:设置64位的代码defaultConfig{ndk{abiFilters"armeabi-v7a"//如果添加armeabi-v7a就必须添加arm64-v8aabiFilters"arm64-v8a"abiFilters"x86"//添加x86必须添加x86_64abiFilters"x86_64"}}二:

Android开发之引用三方库导致SO库冲突的解决办法

Android开发之引用三方库导致SO库冲突的解决办法微信图片_20220416170320.png从这个图片可以看出匹配到了多个libc++_shared.sopackagingOptions{pickFirst'lib/armeabi/libc++_shared.so'pickFirst'lib/armeabi-v7a/libc++_shared.so'pickFirst'lib/arm64-v8a/libc++_shared.so'pickFirst'lib/x86/libc++_shared.so'pickFirst'lib/x86_64/libc++_shared.so'}packa

Android JNI项目创建,方法梳理以及生成So库

简介项目需要涉及到JNI调用C++代码所以所以学习了一了一下AndroidStudio工具下Cmake方式的Jni调用的一些知识特此记录一下环境版本AndroidStudio4.1.3Gradle4.1.3Cmake3.10.2ndk21.1.6352462buildToolsVersion30.0.31.项目配置plugins{id'com.android.application'id'kotlin-android'}android{compileSdkVersion31//31.0.0版本有异常不能用buildToolsVersion"30.0.3"defaultConfig{applic

Android JNI项目创建,方法梳理以及生成So库

简介项目需要涉及到JNI调用C++代码所以所以学习了一了一下AndroidStudio工具下Cmake方式的Jni调用的一些知识特此记录一下环境版本AndroidStudio4.1.3Gradle4.1.3Cmake3.10.2ndk21.1.6352462buildToolsVersion30.0.31.项目配置plugins{id'com.android.application'id'kotlin-android'}android{compileSdkVersion31//31.0.0版本有异常不能用buildToolsVersion"30.0.3"defaultConfig{applic

Android-通过JNI和NDK生成so库

正在工作时,突然被同事问到:“秘钥放在哪里比较安全,X总说我这样写不行。”其实很多时候,app都需要用到一些敏感的数据,例如加密的秘钥、一些渠道的APP_ID等,但如果被别人反编译拿到这些数据,就很有可能会造成损失。那怎么增加被获取的难度?就是将这些数据放到C/C++的文件内,然后将其生成为so库,交给app应用层去调用。因为C/C++反汇编的难度,怎么都比反编译一个apk要难,这样就能更加有效地保证敏感数据的安全了。一、工具准备下载AndroidStudio,并确保下载好了NDK和CMake。image.png二、新建一个项目普通项目也行,C++项目也行,由于C++项目会自动配置CMakeL

Android-通过JNI和NDK生成so库

正在工作时,突然被同事问到:“秘钥放在哪里比较安全,X总说我这样写不行。”其实很多时候,app都需要用到一些敏感的数据,例如加密的秘钥、一些渠道的APP_ID等,但如果被别人反编译拿到这些数据,就很有可能会造成损失。那怎么增加被获取的难度?就是将这些数据放到C/C++的文件内,然后将其生成为so库,交给app应用层去调用。因为C/C++反汇编的难度,怎么都比反编译一个apk要难,这样就能更加有效地保证敏感数据的安全了。一、工具准备下载AndroidStudio,并确保下载好了NDK和CMake。image.png二、新建一个项目普通项目也行,C++项目也行,由于C++项目会自动配置CMakeL