Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade from 0.64.1 to 0.74.1. Do you have a good guide with all necessary steps? #7894

Open
1 task done
ihar-dambrouski opened this issue Jul 8, 2024 · 18 comments
Open
1 task done

Comments

@ihar-dambrouski
Copy link

What happened?

  1. MainActivity and MainApplication files was changed form java to kt extension.
    Java File
image Kotlin File image How i should work with kotlin file in this case? As you see i MainActivity was extended NavigationActivity, But Navigation Activivty is Java file....

Ok, i tried to follow the instruction in installation guide running npx rnn-link and get this errors

image

After i fixed this by chaging this line in react-native-navigation/autolink/postlink/path.js:10:42) from
var mainApplicationJava = glob.sync('/MainApplication.java', ignoreFolders)[0]; to this
var mainApplicationJava = glob.sync('
/MainApplication.{java,kt}', ignoreFolders)[0];

image.

Anyway i have this error when i run npx rnn-link

npx rnn-link

Running Android postlink script.

Linking MainApplication...
Error: There was a problem extending NavigationApplication from your MainApplication file.
Error: There was a problem extending NavigationReactNativeHost().
SOLoader.init() is not called, skipping.
MainApplication.java was partially linked. Please check the information above and complete the missing steps manually:
https://wix.github.io/react-native-navigation/docs/installing#3-update-mainapplicationjava
MainActivity not found! Does the file exist in the correct folder?
Please check the manual installation docs:
https://wix.github.io/react-native-navigation/docs/installing#2-update-mainactivityjava
Linking root build.gradle...
Adding RNNKotlinVersion extension variable
Error: Could not add kotlin plugin dependency
Already specified minSdkVersion 21
Root build.gradle link partially succeeded. Please review the information above and complete the necessary steps manually by following the instructions on https://wix.github.io/react-native-navigation/docs/installing#1-update-androidbuildgradle

Running iOS postlink script.

AppDelegate not found! Does the file exist in the correct folder?
Please check the manual installation docs:
https://wix.github.io/react-native-navigation/docs/installing#native-installation
Updating Podfile...
RNN Pod has not been added to Podfile
Linking info.plist...

React Native Navigation link is completed. Check the logs above for more information.

If any of the steps failed, check the installation docs and go through the necessary steps manually:
https://wix.github.io/react-native-navigation/docs/installing#manual-installation

When you're done, don't forget to update the index.js file as mentioned in docs!

Thank you for using React Native Navigation!

image .

Could you help me? I am using react native 0.74 . Node v18.20.3, "react-native-navigation": "^7.40.1",

What was the expected behaviour?

No response

Was it tested on latest react-native-navigation?

  • I have tested this issue on the latest react-native-navigation release and it still reproduces.

Help us reproduce this issue!

No response

In what environment did this happen?

React Native Navigation version:
React Native version:
Has Fabric (React Native's new rendering system) enabled: (yes/no)
Node version:
Device model:
Android version:

@ihar-dambrouski
Copy link
Author

Team, any proposals?

@nicolaosm
Copy link

Facing same issue!

@bhagatpratik07
Copy link

facing similar issues, any fix?

@viper4595
Copy link

viper4595 commented Jul 30, 2024

Hey folks, the Playground project relies on Java files and is still working fine with RN 0.73, which now requires Kotlin files.

@bhagatpratik07
Copy link

Hey folks, the Playground project relies on Java files and is still working fine with RN 0.73, which now requires Kotlin files.

can you share the kotlin file?

@viper4595
Copy link

Hey folks, the Playground project relies on Java files and is still working fine with RN 0.73, which now requires Kotlin files.

can you share the Kotlin file?

I use Java and it still works fine

@lucasahlgrenToxic
Copy link

The same here. An updated installation guide would be very helpful.

@bhagatpratik07
Copy link

I am sharing what worked for me using Kotlin file (MainApplication.kt)

  1. Change this -
import com.facebook.react.defaults.DefaultReactNativeHost
import com.facebook.soloader.SoLoader

To this -

import com.reactnativenavigation.NavigationApplication
import com.reactnativenavigation.react.NavigationReactNativeHost
  1. Change this -
    class MainApplication : Application(), ReactApplication {
    To this -
    class MainApplication : NavigationApplication() {

  2. Change -
    object : DefaultReactNativeHost(this) {
    To -
    object : NavigationReactNativeHost (this) {

  3. Remove this line
    SoLoader.init(this, false)

  4. Last change in file android/gradle/wrapper/gradle-wrapper.properties

 - distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip
 + distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-all.zip

@lucasahlgrenToxic
Copy link

lucasahlgrenToxic commented Jul 30, 2024

I am sharing what worked for me using Kotlin file (MainApplication.kt)

  1. Change this -
import com.facebook.react.defaults.DefaultReactNativeHost
import com.facebook.soloader.SoLoader

To this -

import com.reactnativenavigation.NavigationApplication
import com.reactnativenavigation.react.NavigationReactNativeHost
  1. Change this -
    class MainApplication : Application(), ReactApplication {
    To this -
    class MainApplication : NavigationApplication() {
  2. Change -
    object : DefaultReactNativeHost(this) {
    To -
    object : NavigationReactNativeHost (this) {
  3. Remove this line
    SoLoader.init(this, false)
  4. Last change in file android/gradle/wrapper/gradle-wrapper.properties
 - distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip
 + distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-all.zip

@bhagatpratik07 Thanks for sharing! How does your MainActivity.kt look like?

@bhagatpratik07
Copy link

MainActivity.kt

package com.appName

import com.reactnativenavigation.NavigationActivity

class MainActivity : NavigationActivity()

@lucasahlgrenToxic
Copy link

MainActivity.kt

package com.appName

import com.reactnativenavigation.NavigationActivity

class MainActivity : NavigationActivity()

Great, now it is working for me too! Thanks @bhagatpratik07 🏅

@bhagatpratik07
Copy link

You're welcome :)

@alpamys-qanybet
Copy link

You're welcome :)

I have done what you wrote, but not working.

@bhagatpratik07
Copy link

can you share more context about the error you are facing?

@alpamys-qanybet
Copy link

alpamys-qanybet commented Aug 5, 2024

@bhagatpratik07 There were several issues such as path.js {kt,java}, older android SDK, minsdk version and etc. By the way can you give us full list of your react native version, android Sdk version, app build.gradle and etc. The starter snapshot that we can replay your steps, you see, writing down your code does not help, and I even do not know what trouble I face further.

@bhagatpratik07
Copy link

bhagatpratik07 commented Aug 6, 2024

My current app has -

"react-native": "0.74.3",

JDK 17

Android SDK -

 ext {
        buildToolsVersion = "34.0.0"
        minSdkVersion = 23
        compileSdkVersion = 34
        targetSdkVersion = 34
        ndkVersion = "26.1.10909125"
        kotlinVersion = "1.9.22"
        RNNKotlinVersion = kotlinVersion
        supportLibVersion = "28.0.0"
    }

app/build.gradle -

implementation project(':react-native-navigation')

Are you facing issues with just react-native-navigation, or does the entire app need an upgrade?

@alpamys-qanybet
Copy link

My current app has -

"react-native": "0.74.3",

JDK 17

Android SDK -

 ext {
        buildToolsVersion = "34.0.0"
        minSdkVersion = 23
        compileSdkVersion = 34
        targetSdkVersion = 34
        ndkVersion = "26.1.10909125"
        kotlinVersion = "1.9.22"
        RNNKotlinVersion = kotlinVersion
        supportLibVersion = "28.0.0"
    }

app/build.gradle -

implementation project(':react-native-navigation')

Are you facing issues with just react-native-navigation, or does the entire app need an upgrade?

I usually do not upgrade react-native, I am starting new app from scratch and copy paste all my stuff. So, I am starting fresh app and have problems.

@hsjoberg
Copy link

With such a big gap between react-native versions I would just create a react-native project from scratch using the cli and then import in all your things into that.

That's what I did when moving from 0.69 to 0.70+.
Yes, it's tedious work, but you'll get a fresh start and you can be sure all the react-native internal code is correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants