我的Android缺少C++库,所以当我下载64位时,我需要使用adb将其推送到我的Android。我也不知道它通常坐在哪里把它推到确切的位置。
nafvub8i1#
1.如果应用程序需要lib.so来使用本机cpp代码编译应用程序,NDK将配置ANDROID_STL依赖库来构建应用程序。gradle文件配置属性可用于解决NDK构建错误。同样的c++11 stl也可以添加到CMakeLists.txt中。
CMakeLists.txt
externalNativeBuild { cmake { cppFlags "-std=c++11 -fexceptions -frtti" arguments "-DANDROID_STL=c++_shared" } }
字符串APK可以在构建问题解决后生成,并且当发生链接错误时,可以分析本机库的交叉检查。java.lang.UnsatisfiedLinkError:dlopen失败1.不需要推送这些C++库,因为它是Android系统标准本机库的一部分。如果需要推送,则应使用特殊权限进入system/lib。Android系统将根据应用程序在运行时加载时定义的拱层查找.so库。例如/data/app-lib/packagename/、/system/lib、/vendor/lib。如果需要推送这些库,则应将设备设为root。应按照以下步骤进行推送a. adb root B. adb remount c. adb push <source_path> <destination_path>个
system/lib
/data/app-lib/packagename/
/system/lib
/vendor/lib
adb root
adb remount
adb push <source_path> <destination_path>
1条答案
按热度按时间nafvub8i1#
1.如果应用程序需要lib.so来使用本机cpp代码编译应用程序,NDK将配置ANDROID_STL依赖库来构建应用程序。gradle文件配置属性可用于解决NDK构建错误。同样的c++11 stl也可以添加到
CMakeLists.txt
中。字符串
APK可以在构建问题解决后生成,并且当发生链接错误时,可以分析本机库的交叉检查。
java.lang.UnsatisfiedLinkError:dlopen失败
1.不需要推送这些C++库,因为它是Android系统标准本机库的一部分。如果需要推送,则应使用特殊权限进入
system/lib
。Android系统将根据应用程序在运行时加载时定义的拱层查找.so库。例如
/data/app-lib/packagename/
、/system/lib
、/vendor/lib
。如果需要推送这些库,则应将设备设为root。应按照以下步骤进行推送
a.
adb root
B.adb remount
c.adb push <source_path> <destination_path>
个