Fresco version description

Currently, The latest version of Fresco is 2.3.0, but it does not integrate directly with plug-ins

  • AndroidX is required from 1.14 onwards, and go down to 1.13.0

  • There is no Armeabi from 1.10.0, go down to 1.9.0

  • Force SoLoader from 1.8.0 onwards and select 1.7.1 down

Plug-in integration problems encountered with Fresco

The SoLoader issue needs to be highlighted here. Since version 1.8.0, Fresco has replaced SoLoader with SoLoader.

SoLoader has been released for a while now, and updated just last week. We’ve made the decision to add a hard dependency on it and make SoLoader the one and only native code loader that we use in Fresco. API-wise, this means SoLoaderShim is gone. If you were using some other native loading library (e.g. ReLinker), you can either:

keep both and just delete your SoLoaderShim implementation, but this will make your APK size bigger switch to SoLoader for the rest of your app as well and remove the other dependency

/data/user/0/ plugin package name /lib-main (this path doesn’t exist!) , causing the host to directly report an error when loading the plug-in, so the plug-in will not start successfully.

Plug-ins integrate with Fresco’s solution

There are two solutions:

  • Scenario 1: Fresco degradation, use version 1.7.1.

  • Scenario 2: Compile fresco host, plug-in Provided Fresco.

Need to modify the plan 2 fresco “source code, because provided does not support depend on aar, see: mp.weixin.qq.com/s/ICjLCTWIe…

There are no instructions in the scenario 2 example, and it feels a bit cumbersome to fiddle with the Fresco source code. 1.7.1 doesn’t seem to be much different from 1.9.0. So, the final option was to integrate Fresco version 1.7.1 into the plug-in project:

The compile "com. Facebook. Fresco" : the fresco ": 1.7.1." "Copy the code

We’ll come back to how to use scenario 2 integration when we have time