React-native-onesignal: рдХрд┐рд╕реА рднреА Android . рдкрд░ RN0.60 рдХреЗ рд╕рд╛рде рдХреНрд░реИрд╢

рдХреЛ рдирд┐рд░реНрдорд┐рдд 23 рд╕рд┐рддре░ 2019  ┬╖  43рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: OneSignal/react-native-onesignal

1. рдпрджрд┐ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рднрд░рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдЬрд╛рдВрдЪ рдХреЗ рдмрд┐рдирд╛ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ 2. рдХрд┐рд╕реА рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдореБрджреНрджреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВ: https://goo.gl/pspQNY 3. рд╣рдорд╛рд░реЗ рд╕рд╛рдорд╛рдиреНрдп рдореБрджреНрджреЛрдВ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВ: https://goo .gl/BDcfZZ 4. рд╣рдорд╛рд░реЗ рдпреЛрдЧрджрд╛рди рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рджреЗрдЦреЗрдВ: https://goo.gl/h19DnX

рд╡рд┐рд╡рд░рдг:

(рдЖрдкрдХрд╛ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдБ)

рд╡рд╛рддрд╛рд╡рд░рдг

System:
    OS: macOS 10.14.6
    CPU: (6) x64 Intel(R) Core(TM) i5-8500B CPU @ 3.00GHz
    Memory: 6.63 GB / 32.00 GB
    Shell: 5.3 - /bin/zsh
  Binaries:
    Node: 10.16.1 - ~/.nvm/versions/node/v10.16.1/bin/node
    Yarn: 1.17.3 - /usr/local/bin/yarn
    npm: 6.9.0 - ~/.nvm/versions/node/v10.16.1/bin/npm
  SDKs:
    iOS SDK:
      Platforms: iOS 13.0, DriverKit 19.0, macOS 10.15, tvOS 13.0, watchOS 6.0
    Android SDK:
      API Levels: 23, 25, 27, 28, 29
      Build Tools: 25.0.2, 25.0.3, 28.0.3, 29.0.1, 29.0.2
      System Images: android-28 | Google APIs Intel x86 Atom, android-29 | Google APIs Intel x86 Atom
  IDEs:
    Android Studio: 3.5 AI-191.8026.42.35.5791312
    Xcode: 11.0/11A419c - /usr/bin/xcodebuild
  npmPackages:
    react: 16.8.6 => 16.8.6
    react-native: 0.60.5 => 0.60.5
[email protected]

рдПрдВрдбреНрд░реЙрдЗрдб рдРрдк рд╕реНрдЯрд╛рд░реНрдЯ рдкрд░ рдореЗрд░рд╛ рдРрдк рдмрд┐рдирд╛ рдХрд┐рд╕реА рдореИрд╕реЗрдЬ рдпрд╛ рд╡рд┐рдВрдбреЛ рдХреЗ рдХреНрд░реИрд╢ рд╣реЛ рд░рд╣рд╛ рд╣реИред

adb logcat :

09-23 17:06:37.900 8388 8388 D AndroidRuntime: VM рдХреЛ рдмрдВрдж рдХрд░рдирд╛
09-23 17:06:37.901 8388 8388 рдИ Androidрд░рдирдЯрд╛рдЗрдо: рдШрд╛рддрдХ рдЕрдкрд╡рд╛рдж: рдореБрдЦреНрдп
09-23 17:06:37.901 8388 8388 рдИ Androidрд░рдирдЯрд╛рдЗрдо: рдкреНрд░рдХреНрд░рд┐рдпрд╛: com.macroactive, рдкреАрдЖрдИрдбреА: 8388
09-23 17:06:37.901 8388 8388 E AndroidRuntime: java.lang.NoClassDefFoundError: рдХрд╛ рд╡рд┐рдлрд▓ рд╕рдорд╛рдзрд╛рди: Lcom/google/android/gms/common/internal/zzbq;
09-23 17:06:37.901 8388 8388 рдИ Androidрд░рдирдЯрд╛рдЗрдо: com.google.firebase.provider.FirebaseInitProvider.attachInfo(рдЕрдЬреНрдЮрд╛рдд рд╕реНрд░реЛрдд) рдкрд░
09-23 17:06:37.901 8388 8388 E AndroidRuntime: android.app.ActivityThread.installProvider(ActivityThread.java:5153) рдкрд░
09-23 17:06:37.901 8388 8388 E AndroidRuntime: android.app.ActivityThread.installContentProviders (ActivityThread.java:4748) рдкрд░
09-23 17:06:37.901 8388 8388 E AndroidRuntime: android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688) рдкрд░
09-23 17:06:37.901 8388 8388 E AndroidRuntime: android.app.ActivityThread.-wrap1(ActivityThread.java) рдкрд░
09-23 17:06:37.901 8388 8388 E AndroidRuntime: android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405) рдкрд░
09-23 17:06:37.901 8388 8388 E AndroidRuntime: android.os.Handler.dispatchMessage(Handler.java:102) рдкрд░
09-23 17:06:37.901 8388 8388 E AndroidRuntime: android.os.Looper.loop(Looper.java:148) рдкрд░
09-23 17:06:37.901 8388 8388 рдИ Androidрд░рдирдЯрд╛рдЗрдо: android.app.ActivityThread.main(ActivityThread.java:5417) рдкрд░
09-23 17:06:37.901 8388 8388 E AndroidRuntime: java.lang.reflect.Method.invoke (рдореВрд▓ рд╡рд┐рдзрд┐) рдкрд░
09-23 17:06:37.901 8388 8388 E AndroidRuntime: com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) рдкрд░
09-23 17:06:37.901 8388 8388 рдИ Androidрд░рдирдЯрд╛рдЗрдо: com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) рдкрд░
09-23 17:06:37.901 8388 8388 E AndroidRuntime: рдЗрд╕рдХреЗ рдХрд╛рд░рдг: java.lang.ClassNotFoundException: рдкрде рдкрд░ "com.google.android.gms.common.internal.zzbq" рд╡рд░реНрдЧ рдирд╣реАрдВ рдорд┐рд▓рд╛: DexPathList[[zip file "/data/app/com.macroactive-2/base.apk"],nativeLibraryDirectories=[/data/app/com.macroactive-2/lib/arm, /data/app/com.macroactive-2/base.apk !/lib/armeabi-v7a, /рд╡рд┐рдХреНрд░реЗрддрд╛/lib, /system/lib]]
09-23 17:06:37.901 8388 8388 рдИ Androidрд░рдирдЯрд╛рдЗрдо: dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56) рдкрд░
09-23 17:06:37.901 8388 8388 рдИ Androidрд░рдирдЯрд╛рдЗрдо: java.lang.ClassLoader.loadClass(ClassLoader.java:511) рдкрд░
09-23 17:06:37.901 8388 8388 E AndroidRuntime: java.lang.ClassLoader.loadClass(ClassLoader.java:469) рдкрд░
09-23 17:06:37.901 8388 8388 рдИ Androidрд░рдирдЯрд╛рдЗрдо: ... 12 рдФрд░
09-23 17:06:37.901 8388 8388 рдИ Androidрд░рдирдЯрд╛рдЗрдо: рджрдмрд╛ рд╣реБрдЖ: java.lang.ClassNotFoundException: com.google.android.gms.common.internal.zzbq
09-23 17:06:37.901 8388 8388 E AndroidRuntime: java.lang.Class.classForName(Native Method) рдкрд░
09-23 17:06:37.901 8388 8388 E AndroidRuntime: java.lang.BootClassLoader.findClass(ClassLoader.java:781) рдкрд░
09-23 17:06:37.901 8388 8388 E AndroidRuntime: java.lang.BootClassLoader.loadClass(ClassLoader.java:841) рдкрд░
09-23 17:06:37.901 8388 8388 рдИ Androidрд░рдирдЯрд╛рдЗрдо: java.lang.ClassLoader.loadClass(ClassLoader.java:504) рдкрд░
09-23 17:06:37.901 8388 8388 рдИ Androidрд░рдирдЯрд╛рдЗрдо: ... 13 рдЕрдзрд┐рдХ
09-23 17:06:37.901 8388 8388 E AndroidRuntime: рдЗрд╕рдХреЗ рдХрд╛рд░рдг: java.lang.NoClassDefFoundError: рдмреВрдЯ рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХреНрд▓рд╛рд╕ рдирд╣реАрдВ рдорд┐рд▓рд╛; рдХреЛрдИ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ

рдЗрд╕реЗ рдирдП рдРрдк рдкрд░ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдпрд╣ рдХрд┐рд╕реА рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред "com/google/android/gms/common/internal/zzbq" рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рдорд┐рд▓реАрдВ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рдорд┐рд▓рд╛ред
рдмрддрд╛рдУ рдХрд╣рд╛рдБ рд╕реЗ рд╢реБрд░реВ рдХрд░реВрдБ?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрд╢реА 0.60.5 рдореЗрдВ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрд╢реА[email protected] . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░

рд╕рднреА 43 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЗрд╕реА рддрд░рд╣, рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдорд┐рд▓рдиреЗ рдкрд░ рдореЗрд░рд╛ рдРрдк рднреА рдХреНрд░реИрд╢ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдордЖрдИ рдиреЛрдЯ 4 (рдПрдВрдбреНрд░реЙрдЗрдб 7.0, рдЖрд░рдПрди 0.60.3, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓-рдПрдХ рд╕рд┐рдЧреНрдирд▓ 3.3.3) рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред

@SAHITYASAI рдХреНрдпрд╛ рдЖрдк adb logcat рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ?

Screenshot_2019-09-22-17-55-21-844_com miui bugreport
рдЬрдм рднреА рдРрдк рдХреНрд░реИрд╢ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдпрд╣ рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИред

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрд╢реА 0.60.5 рдореЗрдВ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрд╢реА[email protected] . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░

рдХреНрдпрд╛ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рдЪрд░рдг 1.1 рдореЗрдВ рдиреЛрдЯ рдХрд┐рдП рдЧрдП app/build.gradle рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ onesignal-gradle-plugin рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ?
https://documentation.onesignal.com/docs/android-sdk-setup#section -1-gradle-setup

рдЗрд╕реЗ рдорд┐рд╕ рдХрд░рдирд╛ рдпрд╛ рдЗрд╕реЗ рдЧрд▓рдд build.gradle рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЗрд╕ рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрдо рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдореЗрд░реЗ app/build.gradle . рдХреА рд╢реБрд░реБрдЖрдд

buildscript {
    repositories {
        maven { url 'https://plugins.gradle.org/m2/'}
    }
    dependencies {
        classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.12.4, 0.99.99]'
    }
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

repositories {
    maven { url 'https://maven.google.com' }
}

apply plugin: "com.android.application"

import com.android.build.OutputFile

рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдерд╛

apply plugin: "com.onesignal.androidsdk.onesignal-gradle-plugin"

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ 0.59 рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓-рдПрдХ рд╕рдВрдХреЗрдд рдХреЗ рд▓рд┐рдП: 3.2.12

рдореИрдВрдиреЗ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдЧрд╛рдЗрдб рдореЗрдВ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рд╕рдм рдХреБрдЫ рдЬреЛрдбрд╝рд╛ред рд▓реЗрдХрд┐рди рд▓рд╛рдЗрди рд▓рд╛рдЧреВ рдкреНрд▓рдЧрдЗрди: 'com.onesignal.androidsdk.onesignal-gradle-plugin' рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рдРрдк рдмрд┐рд▓реНрдб рдХреЛ рд╡рд┐рдлрд▓ рдХрд░ рд░рд╣рд╛ рд╣реИ

  • рдХреНрдпрд╛ рдЧрд▓рдд рд╣реБрдЖ: рд░реВрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдИ ''ред > org.gradle.api.Project рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ '' рдХреЗ рд▓рд┐рдП рдЕрдЬреНрдЮрд╛рдд рд╕рдВрдкрддреНрддрд┐ 'рдПрдВрдбреНрд░реЙрдЗрдб' рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрд╛ред"

рддрд╛рдХрд┐ рдореИрдВрдиреЗ рдЙрд╕ рдкрдВрдХреНрддрд┐ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХреА рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ Google рдкрд░ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛ред
рдХреНрдпрд╛ рдХреЛрдИ рдореБрдЭреЗ onesignal REST API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрд╕реВрдЪрд┐рдд рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рджреЗ рд╕рдХрддрд╛ рд╣реИред рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рдЪрд░рдг 1.1 рдореЗрдВ рдиреЛрдЯ рдХрд┐рдП рдЧрдП app/build.gradle рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ onesignal-gradle-plugin рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ?
https://documentation.onesignal.com/docs/android-sdk-setup#section -1-gradle-setup

рдЗрд╕реЗ рдорд┐рд╕ рдХрд░рдирд╛ рдпрд╛ рдЗрд╕реЗ рдЧрд▓рдд build.gradle рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЗрд╕ рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрдо рд╕рдорд╕реНрдпрд╛ рд╣реИред

рд╣рд╛рдБ рдЬреЛрдбрд╝рд╛ рдФрд░ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ

рдореЗрд░реЗ app/build.gradle . рдХреА рд╢реБрд░реБрдЖрдд

buildscript {
    repositories {
        maven { url 'https://plugins.gradle.org/m2/'}
    }
    dependencies {
        classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.12.4, 0.99.99]'
    }
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

repositories {
    maven { url 'https://maven.google.com' }
}

apply plugin: "com.android.application"

import com.android.build.OutputFile

рдореИрдВрдиреЗ рдЗрд╕реЗ рджреЗрдЦрд╛ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ! рдЖрдк рдЗрд╕реЗ рдЧрд╝рд▓рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ! рдпрд╣ рд╕рдм рдРрдк/рдмрд┐рд▓реНрдб.рдЧреНрд░реЗрдбрд▓ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ, рд▓рд╛рдЧреВ рдкреНрд▓рдЧрдЗрди рдХреЗрд╡рд▓ рд╡рд╣рд╛рдВ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдмрд╛рдХреА рд╡рд░реНрдЧ рдкрде, рдореЗрд╡реЗрди рдпреВрдЖрд░рдПрд▓ рдФрд░ рдЧреНрд░реЗрдбрд▓ рдкреНрд▓рдЧрдЗрди рд░реЗрдкреЛ рдпреВрдЖрд░рдПрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрд┐рд▓реНрдб.рдЧреНрд░реЗрдбрд▓ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ

@indapublic рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ! рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдмрдЧ рдерд╛! рдЗрд╕реЗ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рджред! рдЕрдЧрд░ рдЖрдк рдЕрднреА рднреА рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдореИрдВ рдореБрдЭ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ!

рдирдорд╕реНрддреЗ,
рдХреГрдкрдпрд╛ рдкреНрд▓рдЧрдЗрди рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг (3.4.1) рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ рдФрд░ рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

@SAHITYASAI рдпрд╣рд╛рдБ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ

@indapublic рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ! рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдмрдЧ рдерд╛! рдЗрд╕реЗ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рджред! рдЕрдЧрд░ рдЖрдк рдЕрднреА рднреА рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдореИрдВ рдореБрдЭ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ!

рдзрдиреНрдпрд╡рд╛рдж, рд╣рд▓ !!

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ "рдРрдк/рдмрд┐рд▓реНрдб рдЧреНрд░реЗрдбрд▓" рдиреЗ рдЗрд╕реЗ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдореЗрдВ рдЬреЛрдбрд╝рд╛ред

рдмрд┐рд▓реНрдбрд╕реНрдХреНрд░рд┐рдкреНрдЯ {
рднрдВрдбрд╛рд░ {
рдорд╛рд╡реЗрди { url ' https://plugins.gradle.org/m2/ ' } // рдЧреНрд░реИрдбрд▓ рдкреНрд▓рдЧрдЗрди рдкреЛрд░реНрдЯрд▓
}
рдирд┐рд░реНрднрд░рддрд╛ {
рдХреНрд▓рд╛рд╕рдкрд╛рде 'gradle.plugin.com. onesignal: onesignal-gradle-plugin :[0.12.1, 0.99.99]'
}
}

рдкреНрд▓рдЧрдЗрди рд▓рд╛рдЧреВ рдХрд░реЗрдВ: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

рдкреНрд▓рдЧрдЗрди рд▓рд╛рдЧреВ рдХрд░реЗрдВ: "com.android.application"

рдЖрдпрд╛рдд com.android.build.OutputFile

рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

рд╕реБрдирдиреЗ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛!

@indapublic рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ! рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдмрдЧ рдерд╛! рдЗрд╕реЗ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рджред! рдЕрдЧрд░ рдЖрдк рдЕрднреА рднреА рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдореИрдВ рдореБрдЭ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ!

рдореБрдЭреЗ рдЕрдкрдирд╛ build.gradle рджрд┐рдЦрд╛рдУ

@indapublic рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ! рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдмрдЧ рдерд╛! рдЗрд╕реЗ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рджред! рдЕрдЧрд░ рдЖрдк рдЕрднреА рднреА рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдореИрдВ рдореБрдЭ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ!

рдореБрдЭреЗ рдЕрдкрдирд╛ build.gradle рджрд┐рдЦрд╛рдУ

рдмрд┐рд▓реНрдбрд╕реНрдХреНрд░рд┐рдкреНрдЯ {
рднрдВрдбрд╛рд░ {
рдорд╛рд╡реЗрди { url ' https://plugins.gradle.org/m2/ ' } // рдЧреНрд░реИрдбрд▓ рдкреНрд▓рдЧрдЗрди рдкреЛрд░реНрдЯрд▓
}
рдирд┐рд░реНрднрд░рддрд╛ {
рдХреНрд▓рд╛рд╕рдкрд╛рде 'gradle.plugin.com. onesignal: onesignal-gradle-plugin :[0.12.1, 0.99.99]'
}
}

рдкреНрд▓рдЧрдЗрди рд▓рд╛рдЧреВ рдХрд░реЗрдВ: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

рдкреНрд▓рдЧрдЗрди рд▓рд╛рдЧреВ рдХрд░реЗрдВ: "com.android.application"

рдЖрдпрд╛рдд com.android.build.OutputFile

/**

  • React.gradle рдлрд╝рд╛рдЗрд▓ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рд▓реНрдб рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдп рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдмрдВрдбрд▓рдбреЗрдмрдЧрдЬреЗрдПрд╕рдПрдВрдбрдПрд╕реЗрдЯреНрд╕
  • рдФрд░ рдмрдВрдбрд▓рд░рд┐рд▓реАрдЬрдЬреЗрдПрд╕рдПрдВрдбрдПрд╕реЗрдЯреНрд╕)ред
  • рдпреЗ рдореВрд▓ рд░реВрдк рд╕реЗ Android рдмрд┐рд▓реНрдб рдХреЗ рджреМрд░рд╛рди рд╕рд╣реА рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде react-native bundle
  • рдЪрдХреНрд░ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдмрдВрдбрд▓рдбреЗрдмрдЧрдЬреЗрдПрд╕рдПрдВрдбрдПрд╕реЗрдЯреНрд╕ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбрд┐рдмрдЧ/рджреЗрд╡ рдореЛрдб рдореЗрдВ рд╣рдо рдЗрд╕реЗ рд▓реЛрдб рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ
  • рд╡рд┐рдХрд╛рд╕ рд╕рд░реНрд╡рд░ рд╕реЗ рд╕реАрдзреЗ рдмрдВрдбрд▓ред рдиреАрдЪреЗ рдЖрдк рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ
  • рдФрд░ рдЙрдирдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯред рдпрджрд┐ рдЖрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмреНрд▓реЙрдХ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдЬреЛрдбрд╝рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ
  • apply from: "../../node_modules/react-native/react.gradle" рд▓рд╛рдЗрдиред
    *
  • project.ext.react = [
  • // рдЖрдкрдХреЗ рдЬреЗрдПрд╕ рдмрдВрдбрд▓ рд╡рд╛рд▓реА рдЬреЗрдирд░реЗрдЯ рдХреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо
  • рдмрдВрдбрд▓рдПрд╕реЗрдЯрдирд╛рдо: "index.android.bundle",
    *
  • // рдмрдВрдбрд▓ рдкреАрдврд╝реА рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдлрд╝рд╛рдЗрд▓
  • рдПрдВрдЯреНрд░реАрдлрд╛рдЗрд▓: "index.android.js",
    *
  • // https://facebook.github.io/react-native/docs/performance#enable -the-ram-format
  • рдмрдВрдбрд▓ рдХрдорд╛рдВрдб: "рд░рд╛рдо-рдмрдВрдбрд▓",
    *
  • // JS рдФрд░ рдПрд╕реЗрдЯ рдХреЛ рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ рдмрдВрдбрд▓ рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ
  • рдмрдВрдбрд▓рдЗрдирдбрд┐рдмрдЧ: рдЭреВрдард╛,
    *
  • // рдЬреЗрдПрд╕ рдФрд░ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рд░рд┐рд▓реАрдЬ рдореЛрдб рдореЗрдВ рдмрдВрдбрд▓ рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ
  • рдмрдВрдбрд▓рдЗрдирд░рд┐рд▓реАрдЬрд╝: рд╕рдЪ,
    *
  • // рдХреНрдпрд╛ JS рдФрд░ рдПрд╕реЗрдЯ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдмрд┐рд▓реНрдб рд╡реИрд░рд┐рдПрдВрдЯ рдореЗрдВ рдмрдВрдбрд▓ рдХрд░рдирд╛ рд╣реИ (рдпрджрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
  • // рджреЗрдЦреЗрдВ http://tools.android.com/tech-docs/new-build-system/user-guide#TOC -Build-Variants
  • // рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЧреБрдг рдирд┐рдореНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
  • // 'рдмрдВрдбрд▓рдЗрди${productFlavor}${buildType}'
  • // 'рдмрдВрдбрд▓рдЗрди $ {рдмрд┐рд▓реНрдб рдЯрд╛рдЗрдк}'
  • // рдмрдВрдбрд▓рдЗрдирдлреНрд░реАрдбрд┐рдмрдЧ: рд╕рдЪ,
  • // рдмрдВрдбрд▓рдЗрдирдкреЗрдб рд░рд┐рд▓реАрдЬ: рд╕рдЪ,
  • // рдмрдВрдбрд▓рдЗрдирдмреАрдЯрд╛: рд╕рдЪ рд╣реИ,
    *
  • // рдХрд╕реНрдЯрдо рдмрд┐рд▓реНрдб рд╡реЗрд░рд┐рдПрдВрдЯ рдореЗрдВ рджреЗрд╡ рдореЛрдб рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдЕрдХреНрд╖рдо рд╣реИ)
  • // рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдмрд┐рд▓реНрдб рдкреНрд░рдХрд╛рд░ рдореЗрдВ рджреЗрд╡ рдореЛрдб рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдпрджрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)
  • devDisabledInStaging: рд╕рдЪ,
  • // рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЧреБрдг рдирд┐рдореНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
  • // 'devDisabledIn${productFlavor}${buildType}'
  • // 'devDisabledIn${buildType}'
    *
  • // рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЬрдбрд╝, рдпрд╛рдиреА рдЬрд╣рд╛рдВ "package.json" рд░рд╣рддрд╛ рд╣реИ
  • рдЬрдбрд╝: "../../",
    *
  • // рдЬреЗрдПрд╕ рдмрдВрдбрд▓ рдПрд╕реЗрдЯ рдХреЛ рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ рдХрд╣рд╛рдВ рд░рдЦрд╛ рдЬрд╛рдП
  • jsBundleDirDebug: "$buildDir/рдордзреНрдпрд╡рд░реНрддреА/рд╕рдВрдкрддреНрддрд┐/рдбреАрдмрдЧ",
    *
  • // рдЬреЗрдПрд╕ рдмрдВрдбрд▓ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд░рд┐рд▓реАрдЬ рдореЛрдб рдореЗрдВ рдХрд╣рд╛рдВ рд░рдЦрд╛ рдЬрд╛рдП
  • jsBundleDirRelease: "$buildDir/рдордзреНрдпрд╡рд░реНрддреА/рд╕рдВрдкрддреНрддрд┐/рд░рд┐рд▓реАрдЬрд╝",
    *
  • // рдЦреАрдВрдЪрдиреЗ рдпреЛрдЧреНрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдХрд╣рд╛рдВ рд░рдЦрд╛ рдЬрд╛рдП / рдореВрд▓ рдирд┐рд╡рд╛рд╕реА рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
  • // рдЖрд╡рд╢реНрдпрдХрддрд╛ ('./image.png')), рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ
  • ResourcesDirDebug: "$buildDir/рдордзреНрдпрд╡рд░реНрддреА/res/рдорд░реНрдЬ/рдбреАрдмрдЧ",
    *
  • // рдЦреАрдВрдЪрдиреЗ рдпреЛрдЧреНрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдХрд╣рд╛рдВ рд░рдЦрд╛ рдЬрд╛рдП / рдореВрд▓ рдирд┐рд╡рд╛рд╕реА рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
  • // рдЖрд╡рд╢реНрдпрдХрддрд╛ ('./image.png')), рд░рд┐рд▓реАрдЬ рдореЛрдб рдореЗрдВ
  • ResourcesDirRelease: "$buildDir/рдордзреНрдпрд╡рд░реНрддреА/res/рдорд░реНрдЬ/рд░рд┐рд▓реАрдЬрд╝",
    *
  • // рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдХреЛрдИ JS рдлрд╝рд╛рдЗрд▓ рдпрд╛ рд╕рдВрдкрддреНрддрд┐ рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИ, рддреЛ рдЧреНрд░реЗрдбрд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХреА
  • // рдХрд┐ рд╣рдо рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдВрдбреНрд░реЙрдЗрдб/рдпрд╛ рдЖрдИрдУрдПрд╕/ рдореЗрдВ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд╛рд░реНрдп рдКрдкрд░ рд╣реИрдВ
  • // рджрд┐рдирд╛рдВрдХ; рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдиреНрдп рдлрд╝реЛрд▓реНрдбрд░ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдкреНрд░рджрд░реНрд╢рди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (gradle
  • // рдкреВрд░реЗ рдкреЗрдбрд╝ рдХреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░реЗрдВ), рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдВ рдЬреЛрдбрд╝реЗрдВред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ Android/
  • // рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдВ рд╕реЗ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред
  • рдЗрдирдкреБрдЯ рдмрд╣рд┐рд╖реНрдХреГрдд: ["рдПрдВрдбреНрд░реЙрдЗрдб/ ", "рдЖрдИрдУрдПрд╕/ "],
    *
  • // рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВ рдХрд┐ рдХрд┐рд╕ рдиреЛрдб рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрд┐рди рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде
  • nodeExecutableAndArgs: ["рдиреЛрдб"],
    *
  • // рдкреИрдХреЗрдЬрд░ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ
  • рдЕрддрд┐рд░рд┐рдХреНрддрдкреИрдХреЗрдЬрд░рдЖрд░реНрдЧ: []
  • ]
    */

project.ext.react = [
рдПрдВрдЯреНрд░реАрдлрд╛рдЗрд▓: "index.js",
enableHermes: рдЧрд▓рдд, // рд╕рд╛рдл рдХрд░реЗрдВ рдФрд░ рдЕрдЧрд░ рдмрджрд▓рддреЗ рд╣реИрдВ рддреЛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ
]

рд╕реЗ рдЖрд╡реЗрджрди рдХрд░реЗрдВ: "../../node_modules/react-native/react.gradle"

/**

  • рдПрдХ рдХреЗ рдмрдЬрд╛рдп рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ APK рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ:

    • рдПрдХ рдПрдкреАрдХреЗ рдЬреЛ рдХреЗрд╡рд▓ рдПрдЖрд░рдПрдо рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ


    • рдПрдХ рдПрдкреАрдХреЗ рдЬреЛ рдХреЗрд╡рд▓ x86 рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

  • рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдПрдкреАрдХреЗ рдХрд╛ рдЖрдХрд╛рд░ рд▓рдЧрднрдЧ 4 рдПрдордмреА рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
  • рд╕рднреА рдПрдкреАрдХреЗ рдХреЛ рдкреНрд▓реЗ рд╕реНрдЯреЛрд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рд▓реЛрдЧ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВрдЧреЗ
  • рдЙрдирдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕реАрдкреАрдпреВ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рд╣реАред
    */
    def enableSeparateBuildPerCPUрдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ = рдЕрд╕рддреНрдп

/**

  • рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рдореЗрдВ рдЬрд╛рд╡рд╛ рдмрд╛рдЗрдЯрдХреЛрдб рдХреЛ рд╕рд┐рдХреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧрд╛рд░реНрдб рдЪрд▓рд╛рдПрдБред
    */
    def enableProguardInReleaseBuilds = false

/**

  • JavaScriptCore рдХрд╛ рдкрд╕рдВрджреАрджрд╛ рдмрд┐рд▓реНрдб рдлреНрд▓реЗрд╡рд░ред
    *
  • рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдп рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
  • def jscFlavor = 'org.webkit:android-jsc-intl:+'
    *
  • рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдп рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ ICU i18n рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
  • рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП Date.toLocaleString рдФрд░ String.localeCompare рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛
  • рдПрди-рдпреВрдПрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рд╣реА рдкрд░рд┐рдгрд╛рдо рджреЗрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐
  • рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗ рдкреНрд░рддрд┐ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд▓рдЧрднрдЧ 6MiB рдмрдбрд╝рд╛ рд╣реИред
    */
    def jscFlavor = 'org. рд╡реЗрдмрдХрд┐рдЯ: рдПрдВрдбреНрд░реЙрдЗрдб-рдЬреЗрдПрд╕рд╕реА : +'

/**

  • рдХреНрдпрд╛ рд╣реЗрдореАрдЬрд╝ рд╡реАрдПрдо рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реИред
    *
  • рдЗрд╕реЗ project.ext.react рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдпрд╣рд╛рдВ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рдпрд╣ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ
  • project.ext.react рдкрд░, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╣реЗрдореАрдЬрд╝ рдмрд╛рдЗрдЯрдХреЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
  • рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣реЗрдореАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдн рддреЗрдЬреА рд╕реЗ рдХрдо рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред
    */
    def enableHermes = project.ext.react.get("enableHermes", false);

рдПрдВрдбреНрд░реЙрдпрдб {
CompileSdkVersion rootProject.ext.compileSdkVersion

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

defaultConfig {
    applicationId "com.yourappid"
    minSdkVersion rootProject.ext.minSdkVersion
    targetSdkVersion rootProject.ext.targetSdkVersion
    versionCode 1
    versionName "1.0"
    missingDimensionStrategy 'react-native-camera', 'general'
}
splits {
    abi {
        reset()
        enable enableSeparateBuildPerCPUArchitecture
        universalApk false  // If true, also generate a universal APK
        include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
    }
}
signingConfigs {
    debug {
        storeFile file('debug.keystore')
        storePassword 'android'
        keyAlias 'androiddebugkey'
        keyPassword 'android'
    }
}
buildTypes {
    debug {
        signingConfig signingConfigs.debug
    }
    release {
        // Caution! In production, you need to generate your own keystore file.
        // see https://facebook.github.io/react-native/docs/signed-apk-android.
        signingConfig signingConfigs.debug
        minifyEnabled enableProguardInReleaseBuilds
        proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
    }
}
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
    variant.outputs.each { output ->
        // For each separate APK per architecture, set a unique version code as described here:
        // https://developer.android.com/studio/build/configure-apk-splits.html
        def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4]
        def abi = output.getFilter(OutputFile.ABI)
        if (abi != null) {  // null for the universal-debug, universal-release variants
            output.versionCodeOverride =
                    versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
        }

    }
}

packagingOptions {
    pickFirst '**/armeabi-v7a/libc++_shared.so'
    pickFirst '**/x86/libc++_shared.so'
    pickFirst '**/arm64-v8a/libc++_shared.so'
    pickFirst '**/x86_64/libc++_shared.so'
    pickFirst '**/x86/libjsc.so'
    pickFirst '**/armeabi-v7a/libjsc.so'
}

}

рдирд┐рд░реНрднрд░рддрд╛ {
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдлрд╝рд╛рдЗрд▓ рдЯреНрд░реА (рдбреАрдЖрдИрдЖрд░: "libs", рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: ["*.jar"])
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди "com.facebookред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛: рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ : +" // рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рд╕реЗ

if (enableHermes) {
  def hermesPath = "../../node_modules/hermesvm/android/";
  debugImplementation files(hermesPath + "hermes-debug.aar")
  releaseImplementation files(hermesPath + "hermes-release.aar")
} else {
  implementation jscFlavor
}

}

// BUCK . рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рдЪрд▓рд╛рдПрдВ
// BUCK рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрдВрдкрд╛рдЗрд▓ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдХреЛ рдлреЛрд▓реНрдбрд░ рд▓рд┐рдм рдореЗрдВ рдбрд╛рд▓рддрд╛ рд╣реИ
рдХрд╛рд░реНрдп рдХреЙрдкреАрдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдпDepsToLibs(рдкреНрд░рдХрд╛рд░: рдХреЙрдкреА) {
рд╡рд┐рдиреНрдпрд╛рд╕ рд╕реЗредрд╕рдВрдХрд▓рди
'рд▓рд┐рдмрд╛рд╕' рдореЗрдВ
}

рд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ: рдлрд╝рд╛рдЗрд▓ ("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); ApplyNativeModulesAppBuildGradle (рдкреНрд░реЛрдЬреЗрдХреНрдЯ)

рдзрдиреНрдпрд╡рд╛рдж, @lucasferreiraestevamред рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ, рдЖрдк рдмреЗрд╣рддрд░ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХреЛрдб рдХреЛ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╡реИрд╕реЗ рднреА рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдмрд╣реБрдд рдЕрдВрддрд░ рдирд╣реАрдВ рджреЗрдЦрд╛ред рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж

рддрд╛рдЬрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдВред рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж

рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдЕрднреА рдареАрдХ рдирд╣реАрдВ рд╣реБрдИ рд╣реИред рдореБрдЭреЗ рдЕрднреА рднреА рд╡рд╣реА рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИред рдХреГрдкрдпрд╛ рдХреНрдпрд╛ рдХреЛрдИ рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред

@SAHITYASAI рдЕрдкрдирд╛ build.gradle рджрд┐рдЦрд╛рдПрдБ

android/build.gradle :-

buildscript { ext { buildToolsVersion = "28.0.3" minSdkVersion = 16 compileSdkVersion = 28 targetSdkVersion = 28 supportLibVersion = "28.0.0" googlePlayServicesVersion: "15.0.0" firebaseVersion: "15.0.0" } repositories { google() jcenter() mavenLocal() maven { url 'https://plugins.gradle.org/m2/' } // Gradle Plugin Portal } dependencies { classpath("com.android.tools.build:gradle:3.4.1") classpath 'com.google.gms:google-services:4.3.2' classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.12.5, 0.99.99]' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { mavenLocal() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm url("$rootDir/../node_modules/react-native/android") } maven { // Android JSC is installed from npm url("$rootDir/../node_modules/jsc-android/dist") } google() jcenter() } } apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

android/app/build.gradle: -

apply plugin: "com.android.application" import com.android.build.OutputFile project.ext.react = [ entryFile: "index.js", enableHermes: false, // clean and rebuild if changing ] apply from: "../../node_modules/react-native/react.gradle" def enableSeparateBuildPerCPUArchitecture = false def enableProguardInReleaseBuilds = false def jscFlavor = 'org.webkit:android-jsc:+' def enableHermes = project.ext.react.get("enableHermes", false); android { compileSdkVersion rootProject.ext.compileSdkVersion compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } defaultConfig { applicationId "com.tutelage" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 3 versionName "1.2" multiDexEnabled true } splits { abi { reset() enable enableSeparateBuildPerCPUArchitecture universalApk false // If true, also generate a universal APK include "armeabi-v7a", "x86", "arm64-v8a", "x86_64" } } signingConfigs { debug { storeFile file('debug.keystore') storePassword 'android' keyAlias 'androiddebugkey' keyPassword 'android' } release { storeFile file(MYAPP_RELEASE_STORE_FILE) storePassword MYAPP_RELEASE_STORE_PASSWORD keyAlias MYAPP_RELEASE_KEY_ALIAS keyPassword MYAPP_RELEASE_KEY_PASSWORD } } } buildTypes { debug { signingConfig signingConfigs.debug } release { signingConfig signingConfigs.release minifyEnabled enableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" } } applicationVariants.all { variant -> variant.outputs.each { output -> def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4] def abi = output.getFilter(OutputFile.ABI) if (abi != null) { // null for the universal-debug, universal-release variants output.versionCodeOverride = versionCodes.get(abi) * 1048576 + defaultConfig.versionCode } } } packagingOptions { pickFirst '**/armeabi-v7a/libc++_shared.so' pickFirst '**/x86/libc++_shared.so' pickFirst '**/arm64-v8a/libc++_shared.so' pickFirst '**/x86_64/libc++_shared.so' pickFirst '**/x86/libjsc.so' pickFirst '**/armeabi-v7a/libjsc.so' } } dependencies { implementation project(':react-native-onesignal') compile project(':react-native-admob') implementation "com.google.android.gms:play-services-base:17.0.0" implementation ('com.google.android.gms:play-services-ads:18.1.1') { force = true; } implementation 'com.google.firebase:firebase-analytics:17.2.0' implementation 'com.google.firebase:firebase-auth:18.1.0' implementation 'com.google.firebase:firebase-firestore:20.2.0' implementation 'com.google.firebase:firebase-ads:18.1.1' implementation project(':@react-native-community_netinfo') implementation fileTree(dir: "libs", include: ["*.jar"]) implementation "com.facebook.react:react-native:+" // From node_modules implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" // implementation "com.google.android.gms:play-services-ads-lite:[18.1.1]" if (enableHermes) { def hermesPath = "../../node_modules/hermesvm/android/"; debugImplementation files(hermesPath + "hermes-debug.aar") releaseImplementation files(hermesPath + "hermes-release.aar") } else { implementation jscFlavor } } task copyDownloadableDepsToLibs(type: Copy) { from configurations.compile into 'libs' } apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) apply plugin: 'com.google.gms.google-services'

@SAHITYASAI рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрдкрдХреЛ рдЗрд╕ рдХреЛрдб рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

buildscript {
    repositories {
        maven { url 'https://plugins.gradle.org/m2/'}
    }
    dependencies {
        classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.12.4, 0.99.99]'
    }
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

repositories {
    maven { url 'https://maven.google.com' }
}

app/build.gradle ред рдЗрд╕реЗ рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдБ

рдФрд░ рдХреГрдкрдпрд╛ рдЕрдкрдирд╛ рдХреЛрдб рдкреБрди: рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд░реЗрдВ

рдпрд╣рд╛рдБ рдПрдХ рд╣реА рдореБрджреНрджрд╛
`3s рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдлрд▓

рддреНрд░реБрдЯрд┐ рдРрдк рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ Android рд╡рд┐рдХрд╛рд╕ рдкрд░рд┐рд╡реЗрд╢ рд╕реЗрдЯ рдЕрдк рд╣реИ: https://facebook.github.io/react-native/docs/getting-started.html#android -Development-environmentред
рддреНрд░реБрдЯрд┐: рдХрдорд╛рдВрдб рд╡рд┐рдлрд▓: gradlew.bat рдРрдк: installDebug -PreactNativeDevServerPort = 8081

рд╡рд┐рдлрд▓рддрд╛: рдирд┐рд░реНрдорд╛рдг рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд░рд╣рд╛ред

  • рдХреНрдпрд╛ рдЧрд▓рдд рд╣реБрдЖ:
    рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рд╡рд┐рдлрд▓ ': рдРрдк: ValidateSigningDebug 'ред

    рдХреАрд╕реНрдЯреЛрд░ рдлрд╝рд╛рдЗрд▓ 'рдИ:\рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡\рдкреБрд╢ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди\react-native-onesignal\examples\RNOneSignal\android\app\debug.keystore' рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди 'рдбреАрдмрдЧ' рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдорд┐рд▓реАред

  • рдкреНрд░рдпрддреНрди:
    рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП --stacktrace рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдПрдБред рдЕрдзрд┐рдХ рд▓реЙрдЧ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП --info рдпрд╛ --debug рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдПрдБред рдкреВрд░реНрдг рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП --рд╕реНрдХреИрди рдХреЗ рд╕рд╛рде рджреМрдбрд╝реЗрдВред

  • https://help.gradle.org рдкрд░ рдЕрдзрд┐рдХ рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рд╛рдкреНрдд

3s . рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдлрд▓

at checkExecSyncError (child_process.js:601:13)
at execFileSync (child_process.js:621:13)
at runOnAllDevices (E:\React Native\push notification\react-native-onesignal\examples\RNOneSignal\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\runOnAllDevices.js:74:39)
at buildAndRun (E:\React Native\push notification\react-native-onesignal\examples\RNOneSignal\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\index.js:158:41)
at then.result (E:\React Native\push notification\react-native-onesignal\examples\RNOneSignal\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\index.js:125:12)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)`

рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдирд╡реАрдирддрдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓-рд╡рдирд╕рд┐рдЧреНрдирд▓ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ!

рдпрд╣рд╛рдБ рдореЗрд░рд╛ project/build.gradle

Screenshot 2019-10-04 at 8 01 09 PM

рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ/рдРрдк/рдмрд┐рд▓реНрдб.рдЧреНрд░реЗрдб рдлрд╝рд╛рдЗрд▓ рд╣реИ

Screenshot 2019-10-04 at 8 01 37 PM

рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдард╛рдП рдЧрдП рдХрджрдо рд╣реИрдВ

yarn add react-native-onesignal

рдлрд┐рд░ рдЖрдИрдУрдПрд╕ рдХреЗ рд▓рд┐рдП
рдХреЗрд╡рд▓
cd ios && pod install

andorid . рдХреЗ рд▓рд┐рдП

рдХреЗрд╡рд▓

react-native run-android рдпрд╣ рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрд╡рддрдГ рд▓рд┐рдВрдХ рдХрд░рддрд╛ рд╣реИ

@waqaramjad рдЖрдкрдХрд╛ рдореБрджреНрджрд╛ рдХреЛрдб рд╕рд╛рдЗрдирд┐рдВрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ

Keystore file 'E:\React Native\push notification\react-native-onesignal\examples\RNOneSignal\android\app\debug.keystore' not found for signing config 'debug'.

@indapublic рддреЛ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рд╣реИ?

@waqaramjad рдЕрдкрдирд╛ android/app/build.gradle , signingConfigs рдЕрдиреБрднрд╛рдЧ рджрд┐рдЦрд╛рдПрдВ

@indapublic рдпрд╣рд╛рдБ рд╣реИ android/app/build.gradle
`// рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдмрд┐рд▓реНрдб рдлрд╝рд╛рдЗрд▓ рдЬрд╣рд╛рдВ рдЖрдк рд╕рднреА рдЙрдк-рдкреНрд░реЛрдЬреЗрдХреНрдЯ/рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдмрд┐рд▓реНрдбрд╕реНрдХреНрд░рд┐рдкреНрдЯ {
рдЕрддрд┐рд░рд┐рдХреНрдд {
рдмрд┐рд▓реНрдбрдЯреВрд▓реНрд╕рд╡рд░реНрдЬрди = "28.0.3"
minSdkVersion = 16
рдХрдВрдкрд╛рдЗрд▓рдПрд╕рдбреАрдХреЗрд╡рд░реНрд╕рди = 28
targetSdkVersion = 28
рд╕рдкреЛрд░реНрдЯрд▓рд┐рдмрд╡рд░реНрд╕рди = "28.0.0"
}
рднрдВрдбрд╛рд░ {
рдЧреВрдЧрд▓()
рдЬреЗрд╕реЗрдВрдЯрд░ ()
}
рдирд┐рд░реНрднрд░рддрд╛ {
рдХреНрд▓рд╛рд╕рдкрд╛рде ("com.android.tools.build:gradle: 3.4.1")

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

}

рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ {
рднрдВрдбрд╛рд░ {
рдореЗрд╡реЗрдирд▓реЛрдХрд▓ ()
рдорд╛рд╡реЗрди {
// рд╕рднреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдореВрд▓ рдирд┐рд╡рд╛рд╕реА (JS, Obj-C рд╕реНрд░реЛрдд, Android рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝) npm . рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ
url("$rootDir/../node_modules/react-native/android")
}
рдорд╛рд╡реЗрди {
// Android JSC npm . рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ
url("$rootDir/../node_modules/jsc-android/dist")
}

    google()
    jcenter()
}

}
`

@waqaramjad рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреНрдпрд╛ RN рд╕рдВрд╕реНрдХрд░рдг рд╣реИ?

"0.60.5"

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдореМрдЬреВрджрд╛ рдРрдк рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдпрд╛ рдирдпрд╛ рдмрдирд╛рдпрд╛?

рдореИрдВ рд╕рд┐рд░реНрдл рдореМрдЬреВрджрд╛ рдРрдк рдЙрджрд╛рд╣рд░рдг рдХреЛ рдХреНрд▓реЛрди рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдПрдХ рд╕рд┐рдЧреНрдирд▓ рд░реЗрдкреЛ рдореЗрдВ рд╣реИ рдФрд░ рдмрд╕ рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ

@waqaramjad рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП :)

рдкрд╣рд▓рд╛: рдЖрдкрдиреЗ android/build.gradle рдкреНрд░рд┐рдВрдЯ рдХрд┐рдпрд╛, рди рдХрд┐ android/app/build.gradle

рджреВрд╕рд░рд╛: рдЖрдкрдХреЛ рдЗрд╕ рдореИрдиреБрдЕрд▓ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдбрд┐рдмрдЧ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХреАрд╕реНрдЯреЛрд░ рдЬрд╛рд░реА рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ: рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдХреАрдЯреЛрд▓ рд▓реЙрдиреНрдЪрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд╛рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдореБрдЭреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИред

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреАрд╕реНрдЯреЛрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдПрдкреАрдХреЗ рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдП, рдореИрдВ рдХреЗрд╡рд▓ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ

рдЬрдмрдХрд┐ рдпрд╣рд╛рдВ android/app/build.gradle . рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИ

`рдкреНрд▓рдЧрдЗрди рд▓рд╛рдЧреВ рдХрд░реЗрдВ: "com.android.application"

рдЖрдпрд╛рдд com.android.build.OutputFile

/**

  • React.gradle рдлрд╝рд╛рдЗрд▓ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рд▓реНрдб рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдп рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдмрдВрдбрд▓рдбреЗрдмрдЧрдЬреЗрдПрд╕рдПрдВрдбрдПрд╕реЗрдЯреНрд╕
  • рдФрд░ рдмрдВрдбрд▓рд░рд┐рд▓реАрдЬрдЬреЗрдПрд╕рдПрдВрдбрдПрд╕реЗрдЯреНрд╕)ред
  • рдпреЗ рдореВрд▓ рд░реВрдк рд╕реЗ Android рдмрд┐рд▓реНрдб рдХреЗ рджреМрд░рд╛рди рд╕рд╣реА рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде react-native bundle
  • рдЪрдХреНрд░ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдмрдВрдбрд▓рдбреЗрдмрдЧрдЬреЗрдПрд╕рдПрдВрдбрдПрд╕реЗрдЯреНрд╕ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбрд┐рдмрдЧ/рджреЗрд╡ рдореЛрдб рдореЗрдВ рд╣рдо рдЗрд╕реЗ рд▓реЛрдб рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ
  • рд╡рд┐рдХрд╛рд╕ рд╕рд░реНрд╡рд░ рд╕реЗ рд╕реАрдзреЗ рдмрдВрдбрд▓ред рдиреАрдЪреЗ рдЖрдк рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ
  • рдФрд░ рдЙрдирдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯред рдпрджрд┐ рдЖрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмреНрд▓реЙрдХ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдЬреЛрдбрд╝рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ
  • apply from: "../../node_modules/react-native/react.gradle" рд▓рд╛рдЗрдиред
    *
  • project.ext.react = [
  • // рдЖрдкрдХреЗ рдЬреЗрдПрд╕ рдмрдВрдбрд▓ рд╡рд╛рд▓реА рдЬреЗрдирд░реЗрдЯ рдХреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо
  • рдмрдВрдбрд▓рдПрд╕реЗрдЯрдирд╛рдо: "index.android.bundle",
    *
  • // рдмрдВрдбрд▓ рдкреАрдврд╝реА рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдлрд╝рд╛рдЗрд▓
  • рдПрдВрдЯреНрд░реАрдлрд╛рдЗрд▓: "index.android.js",
    *
  • // https://facebook.github.io/react-native/docs/performance#enable -the-ram-format
  • рдмрдВрдбрд▓ рдХрдорд╛рдВрдб: "рд░рд╛рдо-рдмрдВрдбрд▓",
    *
  • // JS рдФрд░ рдПрд╕реЗрдЯ рдХреЛ рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ рдмрдВрдбрд▓ рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ
  • рдмрдВрдбрд▓рдЗрдирдбрд┐рдмрдЧ: рдЭреВрдард╛,
    *
  • // рдЬреЗрдПрд╕ рдФрд░ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рд░рд┐рд▓реАрдЬ рдореЛрдб рдореЗрдВ рдмрдВрдбрд▓ рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ
  • рдмрдВрдбрд▓рдЗрдирд░рд┐рд▓реАрдЬрд╝: рд╕рдЪ,
    *
  • // рдХреНрдпрд╛ JS рдФрд░ рдПрд╕реЗрдЯ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдмрд┐рд▓реНрдб рд╡реИрд░рд┐рдПрдВрдЯ рдореЗрдВ рдмрдВрдбрд▓ рдХрд░рдирд╛ рд╣реИ (рдпрджрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
  • // рджреЗрдЦреЗрдВ http://tools.android.com/tech-docs/new-build-system/user-guide#TOC -Build-Variants
  • // рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЧреБрдг рдирд┐рдореНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
  • // 'рдмрдВрдбрд▓рдЗрди${productFlavor}${buildType}'
  • // 'рдмрдВрдбрд▓рдЗрди $ {рдмрд┐рд▓реНрдб рдЯрд╛рдЗрдк}'
  • // рдмрдВрдбрд▓рдЗрдирдлреНрд░реАрдбрд┐рдмрдЧ: рд╕рдЪ,
  • // рдмрдВрдбрд▓рдЗрдирдкреЗрдб рд░рд┐рд▓реАрдЬ: рд╕рдЪ,
  • // рдмрдВрдбрд▓рдЗрдирдмреАрдЯрд╛: рд╕рдЪ рд╣реИ,
    *
  • // рдХрд╕реНрдЯрдо рдмрд┐рд▓реНрдб рд╡реЗрд░рд┐рдПрдВрдЯ рдореЗрдВ рджреЗрд╡ рдореЛрдб рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдЕрдХреНрд╖рдо рд╣реИ)
  • // рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдмрд┐рд▓реНрдб рдкреНрд░рдХрд╛рд░ рдореЗрдВ рджреЗрд╡ рдореЛрдб рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдпрджрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)
  • devDisabledInStaging: рд╕рдЪ,
  • // рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЧреБрдг рдирд┐рдореНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
  • // 'devDisabledIn${productFlavor}${buildType}'
  • // 'devDisabledIn${buildType}'
    *
  • // рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЬрдбрд╝, рдпрд╛рдиреА рдЬрд╣рд╛рдВ "package.json" рд░рд╣рддрд╛ рд╣реИ
  • рдЬрдбрд╝: "../../",
    *
  • // рдЬреЗрдПрд╕ рдмрдВрдбрд▓ рдПрд╕реЗрдЯ рдХреЛ рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ рдХрд╣рд╛рдВ рд░рдЦрд╛ рдЬрд╛рдП
  • jsBundleDirDebug: "$buildDir/рдордзреНрдпрд╡рд░реНрддреА/рд╕рдВрдкрддреНрддрд┐/рдбреАрдмрдЧ",
    *
  • // рдЬреЗрдПрд╕ рдмрдВрдбрд▓ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд░рд┐рд▓реАрдЬ рдореЛрдб рдореЗрдВ рдХрд╣рд╛рдВ рд░рдЦрд╛ рдЬрд╛рдП
  • jsBundleDirRelease: "$buildDir/рдордзреНрдпрд╡рд░реНрддреА/рд╕рдВрдкрддреНрддрд┐/рд░рд┐рд▓реАрдЬрд╝",
    *
  • // рдЦреАрдВрдЪрдиреЗ рдпреЛрдЧреНрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдХрд╣рд╛рдВ рд░рдЦрд╛ рдЬрд╛рдП / рдореВрд▓ рдирд┐рд╡рд╛рд╕реА рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
  • // рдЖрд╡рд╢реНрдпрдХрддрд╛ ('./image.png')), рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ
  • ResourcesDirDebug: "$buildDir/рдордзреНрдпрд╡рд░реНрддреА/res/рдорд░реНрдЬ/рдбреАрдмрдЧ",
    *
  • // рдЦреАрдВрдЪрдиреЗ рдпреЛрдЧреНрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдХрд╣рд╛рдВ рд░рдЦрд╛ рдЬрд╛рдП / рдореВрд▓ рдирд┐рд╡рд╛рд╕реА рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
  • // рдЖрд╡рд╢реНрдпрдХрддрд╛ ('./image.png')), рд░рд┐рд▓реАрдЬ рдореЛрдб рдореЗрдВ
  • ResourcesDirRelease: "$buildDir/рдордзреНрдпрд╡рд░реНрддреА/res/рдорд░реНрдЬ/рд░рд┐рд▓реАрдЬрд╝",
    *
  • // рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдХреЛрдИ JS рдлрд╝рд╛рдЗрд▓ рдпрд╛ рд╕рдВрдкрддреНрддрд┐ рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИ, рддреЛ рдЧреНрд░реЗрдбрд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХреА
  • // рдХрд┐ рд╣рдо рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдВрдбреНрд░реЙрдЗрдб/рдпрд╛ рдЖрдИрдУрдПрд╕/ рдореЗрдВ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд╛рд░реНрдп рдКрдкрд░ рд╣реИрдВ
  • // рджрд┐рдирд╛рдВрдХ; рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдиреНрдп рдлрд╝реЛрд▓реНрдбрд░ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдкреНрд░рджрд░реНрд╢рди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (gradle
  • // рдкреВрд░реЗ рдкреЗрдбрд╝ рдХреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░реЗрдВ), рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдВ рдЬреЛрдбрд╝реЗрдВред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ Android/
  • // рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдВ рд╕реЗ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред
  • рдЗрдирдкреБрдЯ рдмрд╣рд┐рд╖реНрдХреГрдд: ["рдПрдВрдбреНрд░реЙрдЗрдб/ ", "рдЖрдИрдУрдПрд╕/ "],
    *
  • // рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВ рдХрд┐ рдХрд┐рд╕ рдиреЛрдб рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрд┐рди рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде
  • nodeExecutableAndArgs: ["рдиреЛрдб"],
    *
  • // рдкреИрдХреЗрдЬрд░ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ
  • рдЕрддрд┐рд░рд┐рдХреНрддрдкреИрдХреЗрдЬрд░рдЖрд░реНрдЧ: []
  • ]
    */

project.ext.react = [
рдПрдВрдЯреНрд░реАрдлрд╛рдЗрд▓: "index.js",
enableHermes: рдЧрд▓рдд, // рд╕рд╛рдл рдХрд░реЗрдВ рдФрд░ рдЕрдЧрд░ рдмрджрд▓рддреЗ рд╣реИрдВ рддреЛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ
]

рд╕реЗ рдЖрд╡реЗрджрди рдХрд░реЗрдВ: "../../node_modules/react-native/react.gradle"

/**

  • рдПрдХ рдХреЗ рдмрдЬрд╛рдп рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ APK рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ:

    • рдПрдХ рдПрдкреАрдХреЗ рдЬреЛ рдХреЗрд╡рд▓ рдПрдЖрд░рдПрдо рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ


    • рдПрдХ рдПрдкреАрдХреЗ рдЬреЛ рдХреЗрд╡рд▓ x86 рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

  • рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдПрдкреАрдХреЗ рдХрд╛ рдЖрдХрд╛рд░ рд▓рдЧрднрдЧ 4 рдПрдордмреА рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
  • рд╕рднреА рдПрдкреАрдХреЗ рдХреЛ рдкреНрд▓реЗ рд╕реНрдЯреЛрд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рд▓реЛрдЧ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВрдЧреЗ
  • рдЙрдирдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕реАрдкреАрдпреВ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рд╣реАред
    */
    def enableSeparateBuildPerCPUрдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ = рдЕрд╕рддреНрдп

/**

  • рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рдореЗрдВ рдЬрд╛рд╡рд╛ рдмрд╛рдЗрдЯрдХреЛрдб рдХреЛ рд╕рд┐рдХреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧрд╛рд░реНрдб рдЪрд▓рд╛рдПрдБред
    */
    def enableProguardInReleaseBuilds = false

/**

  • JavaScriptCore рдХрд╛ рдкрд╕рдВрджреАрджрд╛ рдмрд┐рд▓реНрдб рдлреНрд▓реЗрд╡рд░ред
    *
  • рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдп рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
  • def jscFlavor = 'org.webkit:android-jsc-intl:+'
    *
  • рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдп рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ ICU i18n рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
  • рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП Date.toLocaleString рдФрд░ String.localeCompare рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛
  • рдПрди-рдпреВрдПрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рд╣реА рдкрд░рд┐рдгрд╛рдо рджреЗрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐
  • рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗ рдкреНрд░рддрд┐ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд▓рдЧрднрдЧ 6MiB рдмрдбрд╝рд╛ рд╣реИред
    */
    def jscFlavor = 'org. рд╡реЗрдмрдХрд┐рдЯ: рдПрдВрдбреНрд░реЙрдЗрдб-рдЬреЗрдПрд╕рд╕реА : +'

/**

  • рдХреНрдпрд╛ рд╣реЗрдореАрдЬрд╝ рд╡реАрдПрдо рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реИред
    *
  • рдЗрд╕реЗ project.ext.react рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдпрд╣рд╛рдВ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рдпрд╣ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ
  • project.ext.react рдкрд░, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╣реЗрдореАрдЬрд╝ рдмрд╛рдЗрдЯрдХреЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
  • рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣реЗрдореАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдн рддреЗрдЬреА рд╕реЗ рдХрдо рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред
    */
    def enableHermes = project.ext.react.get("enableHermes", false);

рдПрдВрдбреНрд░реЙрдпрдб {
CompileSdkVersion rootProject.ext.compileSdkVersion

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

defaultConfig {
    applicationId "com.rnonesignal"
    minSdkVersion rootProject.ext.minSdkVersion
    targetSdkVersion rootProject.ext.targetSdkVersion
    versionCode 1
    versionName "1.0"
}
splits {
    abi {
        reset()
        enable enableSeparateBuildPerCPUArchitecture
        universalApk false  // If true, also generate a universal APK
        include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
    }
}
signingConfigs {
    debug {
        storeFile file('debug.keystore')
        storePassword 'android'
        keyAlias 'androiddebugkey'
        keyPassword 'android'
    }
}
buildTypes {
    debug {
        signingConfig signingConfigs.debug
    }
    release {
        // Caution! In production, you need to generate your own keystore file.
        // see https://facebook.github.io/react-native/docs/signed-apk-android.
        signingConfig signingConfigs.debug
        minifyEnabled enableProguardInReleaseBuilds
        proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
    }
}
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
    variant.outputs.each { output ->
        // For each separate APK per architecture, set a unique version code as described here:
        // https://developer.android.com/studio/build/configure-apk-splits.html
        def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4]
        def abi = output.getFilter(OutputFile.ABI)
        if (abi != null) {  // null for the universal-debug, universal-release variants
            output.versionCodeOverride =
                    versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
        }

    }
}

packagingOptions {
    pickFirst '**/armeabi-v7a/libc++_shared.so'
    pickFirst '**/x86/libc++_shared.so'
    pickFirst '**/arm64-v8a/libc++_shared.so'
    pickFirst '**/x86_64/libc++_shared.so'
    pickFirst '**/x86/libjsc.so'
    pickFirst '**/armeabi-v7a/libjsc.so'
}

}

рдирд┐рд░реНрднрд░рддрд╛ {
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдлрд╝рд╛рдЗрд▓ рдЯреНрд░реА (рдбреАрдЖрдИрдЖрд░: "libs", рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: ["*.jar"])
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди "com.facebookред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛: рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ : +" // рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рд╕реЗ

if (enableHermes) {
  def hermesPath = "../../node_modules/hermesvm/android/";
  debugImplementation files(hermesPath + "hermes-debug.aar")
  releaseImplementation files(hermesPath + "hermes-release.aar")
} else {
  implementation jscFlavor
}

}

// BUCK . рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рдЪрд▓рд╛рдПрдВ
// BUCK рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрдВрдкрд╛рдЗрд▓ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдХреЛ рдлреЛрд▓реНрдбрд░ рд▓рд┐рдм рдореЗрдВ рдбрд╛рд▓рддрд╛ рд╣реИ
рдХрд╛рд░реНрдп рдХреЙрдкреАрдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдпDepsToLibs(рдкреНрд░рдХрд╛рд░: рдХреЙрдкреА) {
рд╡рд┐рдиреНрдпрд╛рд╕ рд╕реЗредрд╕рдВрдХрд▓рди
'рд▓рд┐рдмрд╛рд╕' рдореЗрдВ
}

рд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ: рдлрд╝рд╛рдЗрд▓ ("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); ApplyNativeModulesAppBuildGradle (рдкреНрд░реЛрдЬреЗрдХреНрдЯ)
`

рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╣реИ рдирд╛?
рд╕рд╛рдЗрди рдХреЙрдиреНрдлрд┐рдЧ рдпрд╣рд╛рдБ рд╣реИ

@indapublic рдзрдиреНрдпрд╡рд╛рдж, рдореЗрд░рд╛ рдРрдк рдЕрдм рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрди рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреЗрд╡рд▓ рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд▓рдЧрд╛рддрд╛рд░ 15 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реИрдВ, рдХреЗрд╡рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдХ рд░реВрдк рд╕реЗ onesignal рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдбреИрд╢рдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ред рдХреНрдпрд╛ рдХреЛрдИ рднреА рдХреГрдкрдпрд╛ рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдирдпрд╛ рдореБрджреНрджрд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣реИ рдирд╛?

@SAHITYASAI ,
рдЕрдзрд┐рдХ рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ рд╣рдорд╛рд░реЗ рд╕рдорд░реНрдерди рдЪреИрдирд▓ OneSignal.com рдкрд░ рдкрд╣реБрдВрдЪреЗрдВред рдЪрд┐рдпрд░реНрд╕

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Luckygirlllll picture Luckygirlllll  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bitcoinvsalts picture bitcoinvsalts  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

quinlanjager picture quinlanjager  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

nitish1099 picture nitish1099  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

GeoffreyPlitt picture GeoffreyPlitt  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ