Android携帯CPUアーキテクチャタイプ
1086 ワード
CPUFrameworkHelper :
public static native boolean isArmCpu();
public static native boolean isArm7Compatible();
public static native boolean isMipsCpu();
public static native boolean isX86Cpu();
public static native boolean isArm64Cpu();
public static native boolean isMips64Cpu();
public static native boolean isX86_64Cpu();
ソースコード
質問:nativeLibraryDirectories=[/data/app/com.lukouapp-1/lib/arm 64,/vendor/lib 64,/system/lib 64]]couldn't find"libxxx.so
問題原因:64ビットマシンはarm 64-v 8 aディレクトリの下に適切な64ビットライブラリがあるかどうかをデフォルトで検索し、なければlibsに戻って32ビットライブラリを検索するが、frescoのdraw-pipelineは64ビットマシンを考慮しすぎているため、彼のarm 64-v 8 aの下にsoライブラリがあり、対応するシステムはlib 64のファイルを作成し、32ビットライブラリを探しに行かない.
Android Studioプロジェクトを使っていたのでgradleファイルを修正し、
defaultConfig {}
で ndk {
abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
}}
不要なsoアーキテクチャフォルダを削除するか
添付:
https://blog.csdn.net/nongminkouhao/article/details/81048857スキーマの紹介