Open BenHurMartins opened 11 months ago
Could you elaborate on the setps required to implement this on an existing React Native 0.73 project?
Now projects come with Kotlin. Instead of mainActivity.java there is mainActivity.kt file. I think he's talking about this problem
MainActivity.kt
import org.devio.rn.splashscreen.SplashScreen
init {
SplashScreen.show(this)
}
Its working with Emulator only. Not working with Physical Device. App crashed
same Any progress?
Same issue
The problem is with the release APK in a physical device!
is there anyone checking this issue?
because a found this other package: https://github.com/zoontek/react-native-bootsplash
it looks that this package is no longer being mainteined!!!!
I moved with react native bootsplash, its working
On Thu, 28 Dec 2023, 8:03 pm pipo151086, @.***> wrote:
The problem is with the release APK in a physical device!
is there anyone checking this issue?
because a found this other package: https://github.com/zoontek/react-native-bootsplash
it looks that this package is no longer being mainteined!!!!
— Reply to this email directly, view it on GitHub https://github.com/crazycodeboy/react-native-splash-screen/issues/634#issuecomment-1871230221, or unsubscribe https://github.com/notifications/unsubscribe-auth/AR5EGHJE2M6GBQXZJ4V637TYLV7MRAVCNFSM6AAAAABATQZBUKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZRGIZTAMRSGE . You are receiving this because you commented.Message ID: @.***>
same issue
This is not an issue, only a heads up, considering there are not new updates on this library and until we get the new README.
I had some issues implementing splash screen on the newest react native version, using kotlin and to update the
AppDelegate.mm
. So after some digging and fixing, I want to share a boilerplate I created for general purposes and it also includes the splash screen implementation.To use it:
npx react-native init MyApp --template react-native-template-ts-redux-navigation
The GitHub Repo
This worked for me, thanks 😊
MainActivity.kt
import org.devio.rn.splashscreen.SplashScreen
class MainActivity : ReactActivity() { init { SplashScreen.show(this) }
/**
This is not an issue, only a heads up, considering there are not new updates on this library and until we get the new README.
I had some issues implementing splash screen on the newest react native version, using kotlin and to update the
AppDelegate.mm
. So after some digging and fixing, I want to share a boilerplate I created for general purposes and it also includes the splash screen implementation.To use it:
npx react-native init MyApp --template react-native-template-ts-redux-navigation
The GitHub Repo
It worked for me, just changing from java to kotlin syntax like below
// ...
import org.devio.rn.splashscreen.SplashScreen
class MainActivity : ReactActivity() {
// ...
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
SplashScreen.show(this);
}
// ...
}
@mannoeu & @chaudev Even with the mode=release APK?
mode=release APK
Yep, its works for me
I'm surprised onCreate
worked for you, it caused a build error for me:
> Task :app:compileDevtestnetDebugKotlin FAILED
e: file:///<redacted>/android/app/src/main/java/com/<redacted>/app/android/MainActivity.kt:26:3 'onCreate' overrides nothing
Using init
however worked.
init {
SplashScreen.show(this)
}
I'm surprised
onCreate
worked for you, it caused a build error for me:> Task :app:compileDevtestnetDebugKotlin FAILED e: file:///<redacted>/android/app/src/main/java/com/<redacted>/app/android/MainActivity.kt:26:3 'onCreate' overrides nothing
Using
init
however worked.init { SplashScreen.show(this) }
Strange, i dont know about this
IOS crashing spalsh how to solve
@mannoeu where did you added this block??
init {
SplashScreen.show(this)
}
@mannoeu where did you added this block??
init { SplashScreen.show(this) }
I only rename from android/app/src/main/java/com/app-name/MainActivity.java
to android/app/src/main/java/com/app-name/MainActivity.kt
and fixing sintax from this
// ...
public class MainActivity extends ReactActivity {
// ...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SplashScreen.show(this);
}
}
to this
// ...
import org.devio.rn.splashscreen.SplashScreen
class MainActivity : ReactActivity() {
// ...
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
SplashScreen.show(this);
}
// ...
}
But, some people commented above that this causes an error for them. They suggested using the excerpt
// ...
import org.devio.rn.splashscreen.SplashScreen
class MainActivity : ReactActivity() {
// ...
init {
SplashScreen.show(this)
}
// ...
}
In my case it was not necessary. Only the syntax adjustment worked.
@mannoeu thanks brother! It did work with
// ...
import org.devio.rn.splashscreen.SplashScreen
class MainActivity : ReactActivity() {
// ...
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
SplashScreen.show(this);
}
// ...
}
Hi, I only saw all the messages now, like 2 months later, well I didn't try on physical device, so I can't tell.
@BenHurMartins I just tried on physical device and it is working fine!
awesome, good to know @luis-cicada , thanks. Just to be sure, did you tried the boilerplate I shared or another solution proposed here? and, iOS or android?
anyone share me full guide of MainApplication.Kt and MainActivity.kt files Code?
for me
init {
SplashScreen.show(this)
}
and
override fun onCreate(savedInstanceState: Bundle?) {
SplashScreen.show(this);
super.onCreate(null)
}
both are not working app getting crashed while opening
This is not an issue, only a heads up, considering there are not new updates on this library and until we get the new README.
I had some issues implementing splash screen on the newest react native version, using kotlin and to update the
AppDelegate.mm
. So after some digging and fixing, I want to share a boilerplate I created for general purposes and it also includes the splash screen implementation.To use it:
npx react-native init MyApp --template react-native-template-ts-redux-navigation
The GitHub Repo
@Creativestarjsp you can follow this template
@luis-cicada still work with you because I get this error What went wrong: Execution failed for task ':react-native-splash-screen:writeDebugAarMetadata'.
Failed to create parent directory '....../node_modules/react-native-splash-screen/android/build' when creating directory '...../node_modules/react-native-splash-screen/android/build/intermediates/aar_metadata/debug'
@BenHurMartins thanks pal! It works perfectly!!
@BenHurMartins Thanks bro!
It helped me a lot!
For those like me that has MainActivity.kt with no override of the function onCreate at all, maybe this would help.
The lines you need to add exactly are these, in your MainActivity.kt:
After all imports you have already, add these two lines:
import android.os.Bundle; // Avoid Bundle crashing
import org.devio.rn.splashscreen.SplashScreen // react-native-splash-screen lib
Then, no mather where, the rest:
class MainActivity : ReactActivity() {
/* the rest of the code */
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(null)
SplashScreen.show(this)
}
}
This is working for me using react-native 0.74.
Hope this help someone still blocked using this library in newer version on RN.
For those like me that has MainActivity.kt with no override of the function onCreate at all, maybe this would help.
The lines you need to add exactly are these, in your MainActivity.kt:
After all imports you have already, add these two lines:
import android.os.Bundle; // Avoid Bundle crashing import org.devio.rn.splashscreen.SplashScreen // react-native-splash-screen lib
Then, no mather where, the rest:
class MainActivity : ReactActivity() { /* the rest of the code */ override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(null) SplashScreen.show(this) } }
This is working for me using react-native 0.74.
Hope this help someone still blocked using this library in newer version on RN.
thanks @bastiantowers.... you saved me....!!!
In android/gradle.properties, ensure you have these lines:
android.enableJetifier=true
in MainApplication.kt
// react-native-splash-screen >= 0.3.1
import org.devio.rn.splashscreen.SplashScreenReactPackage;
// react-native-splash-screen < 0.3.1
import com.cboy.rn.splashscreen.SplashScreenReactPackage;
class MainApplication : Application(), ReactApplication {
override val reactNativeHost: ReactNativeHost =
object : DefaultReactNativeHost(this) {
override fun getPackages(): List<ReactPackage> =
PackageList(this).packages.apply {
// Packages that cannot be autolinked yet can be added manually here, for example:
SplashScreenReactPackage() // insert this
}
in MainActivity.kt
import android.os.Bundle
import org.devio.rn.splashscreen.SplashScreenReactPackage // Ensure you import this
class MainActivity : ReactActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(null)
SplashScreen.show(this)
}
}
in app.tsx
useEffect(() => {
if (Platform.OS === 'android') {
SplashScreen.hide();
}
}, []);
This is not an issue, only a heads up, considering there are not new updates on this library and until we get the new README.
I had some issues implementing splash screen on the newest react native version, using kotlin and to update the
AppDelegate.mm
. So after some digging and fixing, I want to share a boilerplate I created for general purposes and it also includes the splash screen implementation.To use it:
The GitHub Repo