cannot import a library bigger than 35MB.

hi, I cannot import a library, I have an error message that it cannot import a library bigger than 35MB.
This is nextion library in .zip format, and the size is about 14MB, so its not bigger than 35MB.
The library is fine as I am using this on the offline version.
Wanted to switch to online editor but this library is required.
Is there any solution to this?

hawli: This is nextion library in .zip format, and the size is about 14MB, so its not bigger than 35MB.

It's 40 MB once it's unzipped. That's the size that matters.

hawli: Is there any solution to this?

Yes. Fortunately, the Arduino code of the library doesn't take up much disk space at all. It's only all the supplemental files that cause it to be huge. Although those supplemental files are useful, you can use them from your local copy of the library. The only thing that needs to be stored on the Arduino Web Editor server is the actual library code.

Unzip the .zip file. Then, from the unzipped folder, delete the following:

  • /html
  • /latex
  • /doc
  • All the .tft and .HMI files that are in the individual example sketch folders under /examples

Now make a new .zip file from the folder and import that to Arduino Web Editor.

Thank you. I deleted ‘examples’ folder and it helped. I should have known that’s the unzipped size that matters.

But now there’s another issue.
Once I try to verify the code, it seems to not load the nextion library. I have error " ‘NexButton’ does not name a type; did you mean ‘Nextion’?".
I have the exact same code in the offline software and it works.
It looks like the library is not included properly?

Of course it is included in my code using “#include <Nextion.h>”

I have this error even when I deleted all my custom libraries. Is there a way to make the editor to use mine libraries not the default ones?

Once I uploaded the library, it showed up in "Custom' tab but there's no 'include' on it, like there is on default ones.

Multiple libraries were found for "Nextion.h"
Used: /home/builder/opt/libraries/latest/nextion_2_0_2
Not used: /tmp/687391163/custom/ITEADLIB_Arduino_Nextion
Not used: /home/builder/opt/libraries/latest/neonextion_2_2_0
Multiple libraries were found for "SoftwareSerial.h"
Used: /home/builder/.arduino15/packages/arduino/hardware/avr/1.8.2/libraries/SoftwareSerial
Not used: /home/builder/opt/libraries/latest/printoo_library_1_0_2
Not used: /home/builder/opt/libraries/latest/espsoftwareserial_6_11_3
Not used: /home/builder/opt/libraries/latest/dabble_1_5_2
Multiple libraries were found for "OneWire.h"
Used: /tmp/687391163/custom/OneWire
Not used: /home/builder/opt/libraries/latest/sdu_ags_sensorboard_1_0_0
Not used: /home/builder/opt/libraries/latest/onewire_2_3_5
Not used: /home/builder/opt/libraries/latest/max31850_onewire_1_1_0
Multiple libraries were found for "DallasTemperature.h"
Used: /tmp/687391163/custom/DallasTemperature
Not used: /home/builder/opt/libraries/latest/sdu_ags_sensorboard_1_0_0
Not used: /home/builder/opt/libraries/latest/max31850_dallastemp_1_1_0
Not used: /home/builder/opt/libraries/latest/dallastemperature_3_9_0
Multiple libraries were found for "EEPROM.h"
Used: /home/builder/.arduino15/packages/arduino/hardware/avr/1.8.2/libraries/EEPROM
Not used: /home/builder/opt/libraries/latest/hello_drum_0_7_7
Not used: /home/builder/opt/libraries/latest/arduino_nvm_0_9_1

The reason the default library is being used instead of the one you imported is because the installation folder name of the default one: "nextion_2_0_2" is a closer match to the #include file name "Nextion.h" than the folder name of the custom library: "ITEADLIB_Arduino_Nextion".

It seems that Arduino Web Editor now installs libraries to the folder named according to the value of the name field in library.properties. So you'll need to do this:

In the folder of the Nextion library on your computer (you can download the library again if you deleted it), you'll find a file named "library.properties". Open that file in a text editor.

Change this line of the file:

name=ITEADLIB_Arduino_Nextion

to this:

name=Nextion

Save the file.

Create a new .zip file from the Nextion library folder.

Import it in Arduino Web Editor.

Now if you compile your sketch again it should use the custom library.

You can remove the old "ITEADLIB_Arduino_Nextion" imported library from your "custom" libraries if you like to save disk space in your Arduino Web Editor account, but it's not required.