Upgrade to Expo 33: unknown property 'VersionNumber' for project ':app'

Hi all,

Having some big headaches upgrading to expo 33 on an ejected app. The android build just will not work (working before upgrade) and i just seem to go round in circles, but now i am completely stumped.

Not sure if this is the case for everyone, but i have had to explicitly exclude a bunch of uni-module dependencies that appear auto generated BasePackageList file but are not used in my app, like expo-ads-admob for example, so not sure if i have configured something incorrectly.

But, after excluding ‘expo-app-auth’ i know just get:

unknown property ‘VersionNumber’ for project ‘:app’

Really have no clue as nothing is turning up. Has anyone had this issue before or help me get back to a state where this builds. Been at this for ages

Hey @modika- sorry you’re having issues upgrading

What SDK are you upgrading from? and is this an Expokit project?

Hi Charliecruzan,

Yes it is an ExpoKit Project. The upgrade was from Version 31 but i believe i follower the path correctly, the docs on this can be a little confusing.

I know the structure has changed, and have no issues resolving that side of things, but i can’t even get this to build and i am sure i am missing something obvious, but the error message throws up nothing on Google so i am stumped. I think it is with Expo-Av but not 100%.

Any ideas would be greatly appreciated.

Hey @charliecruzan ,

I believe i got passed the “Version Number”, it seems that React-Native-Unimodules uses a VersionNumber funtion/property but does not import the required dependency…

I have a new error now,
ERROR: Project with path ‘:expo-app-loader-provider’ could not be found in project ‘:app’.

expo-app-loader-provider is installed in the node_modules folder but now seems like i am missing some additional configuration. Anyone seen this, i am going to google the crap out of it, but hopefully someone has seen this before and i can get this resolved.

Hey there.

I am making progress with this (i think) but its really frustrating. For some reason i have to exclude a bunch of libraries that i have never used in my app, so right now much exclude list looks like this (and growing as it still wont build)

          exclude      : ['expo-ads-admob', 
                          'expo-ads-facebook',
                          'expo-analytics-amplitude',
                          'expo-analytics-segment',
                          'expo-app-auth',
                          'expo-av',
                          'expo-print',
                          'expo-background-fetch',
                          'expo-brightness',
                          'expo-speech',
                          'expo-task-manager'

Is this typical? is there a better way of dealing with this other then one by as they break the build?

My app is pretty much done, but have been on this slog for ages now.

I think i am close to giving up with this, so frustrating. No matter what i do, what i exclude i continually get errors of

:compileDebugJavaWithJavac

One second its expo-sensors:compileDebugJavaWithJavac which i then exclude that from my project, that clears, but then the next one is expo-location:compileDebugJavaWithJavac which i can’t exclude because i need it (and it is installed), but then you rebuild and its back to being expo-sensors:compileDebugJavaWithJavac even though its no longer included in the project (if that is what the excludes is doing), rinse and repeat over and over.

The real issue is i have no idea what this error is, what causes it as any search for it is fruitless and there have been limited responses here.

Hi all,

Turns out the actual errors is:

error: cannot find symbol class ModuleRegistryConsumer

It seems the modules on node_modules inherit this from import org.unimodules.core.interfaces.ModuleRegistryConsumer but my setup doesn’t seem to have that package to inherit from. Unimodules core is installed in my app (i think) under node modules.

What am i missing here? anyone?

I’d make sure your files/file changes match those specified in the upgrade docs → https://docs.expo.io/versions/latest/expokit/expokit/#upgrading-expokit

You shouldn’t need to exclude so many modules ( I’ve been able to run a blank SDK 33 expokit project from scratch)

Hi @charliecruzan,

I gave up on 33, and continued to upgrade to 34. Android app is now building so i will have to go and fix the references.

1 Like

@modika how did you fix the ‘VersionNumber’ issue?

Same here, lost almost 2 days on upgrading from 32 to 33 and neither Android nor iOS is building. Reminds me why I always delay upgrading Expo. Unfortunately Google is asking for 64bit build now and I have no choice.
I also have the “error: cannot find symbol class ModuleRegistryConsumer”.
I will try to skip to 34 directly and see what happens.