Closed HuRuWo closed 4 years ago
我尝试打包 闲鱼 app ,发现无法加载libflutter.so 。 排查原因是因为 在复制so的时候 ,在原lib下多创建了 armeabi-v7a 和 arm64-v8a 文件夹 导致在真机上面 直接去arm64-v8a 下寻找so 但是 arm64-v8a 下只有一个 sandhook.so 文件
修复办法 SoAndDexCopyTask.java 文件里面 删掉不必要的so文件路径
比如只保留 armeabi 文件夹 和 原app一致
private final String[] APK_LIB_PATH_ARRAY = { //"lib/armeabi-v7a/", "lib/armeabi/", //"lib/arm64-v8a/" }; private final HashMap<String, String> SO_FILE_PATH_MAP = new HashMap<String, String>() { { //put(APK_LIB_PATH_ARRAY[0], "assets/lib/armeabi-v7a/" + SO_FILE_NAME); put(APK_LIB_PATH_ARRAY[0], "assets/lib/armeabi-v7a/" + SO_FILE_NAME); //put(APK_LIB_PATH_ARRAY[2], "assets/lib/arm64-v8a/" + SO_FILE_NAME); } };
3.0版本修复此问题
我尝试打包 闲鱼 app ,发现无法加载libflutter.so 。 排查原因是因为 在复制so的时候 ,在原lib下多创建了 armeabi-v7a 和 arm64-v8a 文件夹 导致在真机上面 直接去arm64-v8a 下寻找so 但是 arm64-v8a 下只有一个 sandhook.so 文件
修复办法 SoAndDexCopyTask.java 文件里面 删掉不必要的so文件路径
比如只保留 armeabi 文件夹 和 原app一致