作者:mobiledu2502903757 | 来源:互联网 | 2023-07-17 20:52
我刚刚从朋友那里克隆了一个存储库,并试图在我的Android Studio 3.4.2上构建该应用程序。
他提供给我的APK已成功安装并正常运行。但是,当我在自己的设备上自行构建apk时,出现以下错误(以及其他一些错误。):
A/linker: CANNOT LINK EXECUTABLE "/system/bin/dpmd": "/system/lib64/libdpmframework.so" is 32-bit instead of 64-bit
运行内置的APK时,该应用实际上不会崩溃或发生任何事情,只是由于行为不正常而表现不佳(例如,登录过程中)。我确实意识到libdpmframework.so存在问题,因此它是通过 32位lib 构建的,但是如何“控制”它呢?我的项目gradle文件和ndk编译器都针对64位。
android {
compileSdkVersion 29
defaultConfig {
applicationid "com.kolbeat.android.app"
minSdkVersion 23
targetSdkVersion 29
versionCode 9
versionName "2.5.0"
vectorDrawables.useSupportlibrary true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
}
所以问题是,如何确保将lib构建为64位?
干杯。
尝试以下步骤:
-
将android.useDeprecatedNdk=true
添加到 gradle.properties
-
在库下添加名为 armeabi 的新文件夹,然后将32位.so文件复制到新文件夹中