рд╡рд┐рд╡рд░рдг:
"react-native-onesignal": "^3.2.4"
рд╕рд╛рде "react-native": "0.55.4"
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдирд┐рдореНрди рдмрд┐рд▓реНрдб рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ,
рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рд╡рд┐рдлрд▓ рд░рд╣рд╛ ': рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛- рдореВрд▓- onesignal: processReleaseResources 'ред
рддреНрд░реБрдЯрд┐: рдкреИрдХреЗрдЬ рдирд╛рдо 'com.google.android.gms.license' рд╡рд╛рд▓реА рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА
рдореИрдВрдиреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ рд╕реЗ рд╕рднреА рд╕реЗрдЯрдЕрдк рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ https://documentation.onesignal.com/docs/react-native-sdk-setup#section -adding-the-gradle-plugin рд╢рд╛рдорд┐рд▓ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ .../node_modules/react-native-onesignal/android/build.gradle
рдХреА рдкрд╛рдж рд▓реЗрдЦ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрднрд╛рдЧ рдХреЛ .../android/app/build.gradle
\:- рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИред
plugins {
id 'com.onesignal.androidsdk.onesignal-gradle-plugin' version '0.8.1'
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред
@ avin3sh рдЖрдк OneSignal Gradle рдкреНрд▓рдЧрдЗрди рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдХреГрдкрдпрд╛ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдХреГрдкрдпрд╛ рдкреБрд░рд╛рдиреЗ рдЧреНрд░реИрдбрд▓ рдкреНрд▓рдЧрдЗрди рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдФрд░ рдЙрд╕реА рддрд░рд╣ рдирдпрд╛ рдЬреЛрдбрд╝реЗрдВ ( app/build.gradle
рдХреЗ рд╢реАрд░реНрд╖ рдкрд░):
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/'}
}
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.10.0, 0.99.99]'
}
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
@ Nightsd01 рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж,
рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рд╕рдорд╕реНрдпрд╛рдПрдБ рднреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рддреНрд░реБрдЯрд┐ рдЕрднреА рднреА рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ
рдореБрдЭреЗ рднреА рд╣реЛрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓рдЧрдЗрди рд╕реЗ рдЬреАрд╕реАрдПрдо рд╕рдореВрд╣ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдлрд╛рдпрд░рдмреЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкрд┐рди рдХрд░рддреЗ рд╣реБрдП рдирд╡реАрдирддрдо рдЧреНрд░реЗрдбрд▓ рдкреНрд▓рдЧрдЗрди рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рд╕рднреА рдлрд╛рдпрд░рдмреЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕рдВрд╕реНрдХрд░рдг 15 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рддрдХ рдХреЛрдИ рднрд╛рдЧреНрдп рдирд╣реАрдВ рд╣реИред рдпрд╣ рдореБрдЭреЗ рдорд┐рд▓реА рдЖрдЦрд┐рд░реА рддреНрд░реБрдЯрд┐ рдереА: https://github.com/OneSignal/OneSignal-Android-SDK/issues/298 , рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝ рд╕рдХрд╛ред
рдпрд╣ рдореЗрд░рд╛ react-native info
ред рдХреНрдпрд╛ рдХреБрдЫ рдЬрдЧрд╣ рд╕реЗ рд╣рдЯрдХрд░ рджрд┐рдЦрддрд╛ рд╣реИ?
Environment:
OS: macOS High Sierra 10.13
Node: 10.3.0
Yarn: 1.7.0
npm: 6.1.0
Watchman: 4.7.0
Xcode: Not Found
Android Studio: 2.3 AI-162.4069837
Packages: (wanted => installed)
react: 16.3.1 => 16.3.1
react-native: ~0.55.2 => 0.55.4
рдореЗрд░рд╛ рднреА рдпрд╣реА рд╡рд┐рдЪрд╛рд░ рд╣реИред рдореБрдЭреЗ рднреА рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИред рдореИрдВрдиреЗ рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╛рдзрд╛рди рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдХреЛрдИ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
@ Nightsd01 рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдореЗрд░реЗ build.gradle
рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрднреА рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИред
рдХреНрдпрд╛ рдЖрдк (рдпрд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡реНрдпрдХреНрддрд┐) рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛ рд░рд╣реА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЖрдк рдмрд╕ рдЕрдкрдирд╛ package.json
. рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рд╕рд╛рде рд╣реА, рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдЕрдкрдиреА app/build.gradle
рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреЙрдкреА рдФрд░ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╕реЗ рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: compileSdkVersion
, buildToolsVersion
, minSdkVersion
, рдФрд░ targetSdkVersion
рдореБрдЭреЗ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ, рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдкреИрдХреЗрдЬ рд╣реИредjson
{
"dependencies": {
"native-base": "^2.4.3",
"react": "16.3.2",
"react-native": "0.55.3",
"react-native-cookies": "^3.2.0",
"react-native-elements": "^0.19.1",
"react-native-haptic-feedback": "^1.1.0",
"react-native-iphone-x-helper": "^1.0.3",
"react-native-navigation": "^1.1.452",
"react-native-onesignal": "^3.2.3",
"react-native-scrollable-tab-view": "^0.8.0",
"react-native-share": "^1.0.27",
"react-native-vector-icons": "^4.6.0",
"react-native-wkwebview-reborn": "^1.20.0",
"react-native-xml2js": "^1.0.3",
"react-redux": "^5.0.7",
"redux": "^4.0.0",
"redux-logger": "^3.0.6",
"redux-persist": "^5.9.1",
"redux-thunk": "^2.2.0",
"rn-sliding-up-panel": "^1.2.0",
"url-parse": "^1.4.0"
},
"devDependencies": {
"babel-jest": "22.4.3",
"babel-preset-react-native": "4.0.0",
"jest": "22.4.3",
"react-native-dotenv": "^0.1.1",
"react-test-renderer": "16.3.1"
},
"jest": {
"preset": "react-native"
}
}
рдпрд╣рд╛рдВ рдЕрдиреНрдп рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд┐рд╡рд░рдг рджрд┐рдП рдЧрдП рд╣реИрдВ
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
рдЕрдм рдореЗрд░реА рдмрд┐рд▓реНрдб.рдЧреНрд░реЗрдб рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ> рд╕рдВрд╕реНрдХрд░рдг 23 рдпрд╛ рд╕рдВрд╕реНрдХрд░рдг 26 рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рднреА рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛
рдЖрдЦрд┐рд░ рдорд┐рд▓ рд╣реА рдЧрдпрд╛ рдпреЗ рдХрд╛рдо
https://documentation.onesignal.com/docs/react-native-sdk-setup#section -adding-the-gradle-plugin рдХреЛ рд╣рдЯрд╛рдХрд░
рдФрд░ app/build.gradle . рдкрд░ compile "com.google.android.gms:play-services-base:12.0.1"
рдбрд╛рд▓реЗрдВ
рдФрд░ рдиреАрдЪреЗ рдХреА рддрд░рд╣ android/build.gradle рдкрд░ google() рдЬреЛрдбрд╝реЗрдВ
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}
}
allprojects {
repositories {
google()
mavenLocal()
jcenter()
maven {
url "$rootDir/../node_modules/react-native/android"
}
}
}
@neo125874 рдЖрдкрдХреЗ CompilSdkVersion рдФрд░ buildToolsVersion рд╕рдВрд╕реНрдХрд░рдг рдХреНрдпрд╛ рд╣реИрдВ?
рдореБрдЭреЗ рдПрдХ рдФрд░ рдмрджрд▓рд╛рд╡ рдХрд░рдирд╛ рдерд╛ред рдореИрдВ distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
рдореЗрдВ gradle-wrapper.properties
, рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред CompilSdkVersion 23 рд╣реИ рдФрд░ buildToolsVersion 23.0.1 рд╣реИ
@Nightsd01
рдпрд╣рд╛рдБ рдореЗрд░реЗ рдкреИрдХреЗрдЬ рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реИредjson
"dependencies": {
"native-base": "^2.3.9",
"react": "16.3.1",
"react-native": "0.55.4",
"react-native-onesignal": "^3.2.4",
"react-native-router-flux": "^4.0.0-beta.28",
"react-native-smart-splash-screen": "^2.3.5"
},
"devDependencies": {
"babel-jest": "22.4.1",
"babel-preset-react-native": "4.0.0",
"jest": "22.4.2",
"react-test-renderer": "16.2.0"
},
"jest": {
"preset": "react-native"
}
рдФрд░ рдпрд╣рд╛рдБ app/build.gradle
рдкреНрд▓рдЧрдЗрди рд▓рд╛рдЧреВ рдХрд░реЗрдВ: "com.android.application"
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/' } // Gradle Plugin Portal
}
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.10.0, 0.99.99]'
}
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
import com.android.build.OutputFile
project.ext.react = [
entryFile: "index.js"
]
apply from: "../../node_modules/react-native/react.gradle"
def enableProguardInReleaseBuilds = false
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
//compileSdkVersion 27 //made no difference
//buildToolsVersion "27.0.1" //made no difference
defaultConfig {
applicationId "com.fpapp"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86"
}
}
buildTypes {
release {
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:
// http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
def versionCodes = ["armeabi-v7a":1, "x86":2]
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
}
}
}
}
dependencies {
compile project(':react-native-smart-splash-screen')
compile project(':react-native-onesignal')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+" // From node_modules
//compile "com.google.android.gms:play-services-base:12.0.1" //github onesignal experiment
}
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
рдореИрдВрдиреЗ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрд┐рд▓реНрдбрдЯреВрд▓ рдФрд░ рдХрдВрдкрд╛рдЗрд▓рдПрд╕рдбреАрдХреЗ рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рд╛ред
@neo125874 gradle-wrapper.properties
рд▓рд┐рдП @dhamaniasad рдХреЗ рд╕реБрдЭрд╛рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЗ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛!
@ рдзрд╛рдордирд┐рдпрд╛рд╕рд╛рдж рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рдХрд┐ 23 рдпрд╛ 26 рдареАрдХ рдХрд╛рдо рдХрд░ рд╕рдХреЗрдВ, рдФрд░ рдпрд╣ рд╕реБрдирдХрд░ рдЦреБрд╢реА рд╣реБрдИ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рдХрд╛рдо рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ!
@avin3sh рдмрдзрд╛рдИ! рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ Google play рд╕реЗрд╡рд╛ sth рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред
@ avin3sh @dhamaniasad рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реЛ рд░рд╣реА рд╣реИ
рдкреНрд░реЛрдЬреЗрдХреНрдЯ ': рдРрдк' рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реБрдИред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рд╢реНрд░реЛрддрд╛ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ред
com.android.build.gradle.tasks.factory.AndroidJavaCompile.setDependencyCacheDir(Ljava/io/File;)V
рдХреГрдкрдпрд╛ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдореЗрд░реА рдорджрдж рдХрд░реЗрдВ рдЕрдЧреНрд░рд┐рдо рдзрдиреНрдпрд╡рд╛рдж
рдореЗрд░рд╛ app/build.gradle
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/' } // Gradle Plugin Portal
}
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.10.0, 0.99.99]'
}
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: "com.android.application"
import com.android.build.OutputFile
/**
* The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
* and bundleReleaseJsAndAssets).
* These basically call `react-native bundle` with the correct arguments during the Android build
* cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
* bundle directly from the development server. Below you can see all the possible configurations
* and their defaults. If you decide to add a configuration block, make sure to add it before the
* `apply from: "../../node_modules/react-native/react.gradle"` line.
*
* project.ext.react = [
* // the name of the generated asset file containing your JS bundle
* bundleAssetName: "index.android.bundle",
*
* // the entry file for bundle generation
* entryFile: "index.android.js",
*
* // whether to bundle JS and assets in debug mode
* bundleInDebug: false,
*
* // whether to bundle JS and assets in release mode
* bundleInRelease: true,
*
* // whether to bundle JS and assets in another build variant (if configured).
* // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
* // The configuration property can be in the following formats
* // 'bundleIn${productFlavor}${buildType}'
* // 'bundleIn${buildType}'
* // bundleInFreeDebug: true,
* // bundleInPaidRelease: true,
* // bundleInBeta: true,
*
* // whether to disable dev mode in custom build variants (by default only disabled in release)
* // for example: to disable dev mode in the staging build type (if configured)
* devDisabledInStaging: true,
* // The configuration property can be in the following formats
* // 'devDisabledIn${productFlavor}${buildType}'
* // 'devDisabledIn${buildType}'
*
* // the root of your project, i.e. where "package.json" lives
* root: "../../",
*
* // where to put the JS bundle asset in debug mode
* jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
*
* // where to put the JS bundle asset in release mode
* jsBundleDirRelease: "$buildDir/intermediates/assets/release",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in debug mode
* resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in release mode
* resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
*
* // by default the gradle tasks are skipped if none of the JS files or assets change; this means
* // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
* // date; if you have any other folders that you want to ignore for performance reasons (gradle
* // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
* // for example, you might want to remove it from here.
* inputExcludes: ["android/**", "ios/**"],
*
* // override which node gets called and with what additional arguments
* nodeExecutableAndArgs: ["node"],
*
* // supply additional arguments to the packager
* extraPackagerArgs: []
* ]
*/
project.ext.react = [
entryFile: "index.js"
]
apply from: "../../node_modules/react-native/react.gradle"
/**
* Set this to true to create two separate APKs instead of one:
* - An APK that only works on ARM devices
* - An APK that only works on x86 devices
* The advantage is the size of the APK is reduced by about 4MB.
* Upload all the APKs to the Play Store and people will download
* the correct one based on the CPU architecture of their device.
*/
def enableSeparateBuildPerCPUArchitecture = false
/**
* Run Proguard to shrink the Java bytecode in release builds.
*/
def enableProguardInReleaseBuilds = false
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.onesignal"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86"
}
}
buildTypes {
release {
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:
// http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
def versionCodes = ["armeabi-v7a":1, "x86":2]
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
}
}
}
}
dependencies {
compile project(':react-native-onesignal')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+" // From node_modules
compile "com.google.android.gms:play-services-base:12.0.1" //github onesignal experiment
}
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
рдореЗрд░рд╛ рдЧреНрд░реЗрдбрд▓
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
jcenter()
google()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
}
}
`
package.json
`{
"name": "onesignal",
"version": "0.1.0",
"private": true,
"devDependencies": {
"babel-preset-react-native-stage-0": "^1.0.1",
"jest": "^23.1.0",
"jest-react-native": "^18.0.0",
"react-test-renderer": "16.3.1"
},
"scripts": {
"start": "react-native start",
"android": "react-native run-android",
"ios": "react-native run-ios",
"test": "jest"
},
"jest": {
"preset": "react-native"
},
"dependencies": {
"react": "16.3.1",
"react-native": "~0.55.2",
"react-native-onesignal": "^3.2.4"
}
}
@ avin3sh @dhamaniasad рдХреНрдпрд╛ рдореБрдЭреЗ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд░реЗрдкреЛ рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ?
@ Nightsd01 рдХреГрдкрдпрд╛ рдорджрдж рдХрд░реЗрдВ
@davekedar рдХреНрдпрд╛ рдЖрдкрдиреЗ
рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЕрдкрдиреА рдЧреНрд░реЗрдбреЗрд▓ рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
classpath 'com.android.tools.build:gradle:2.2.3'
рдкреНрд░рддрд┐
classpath 'com.android.tools.build:gradle:4.4'
(рдпрд╛ рдЬреЛ рднреА рд╕рдВрд╕реНрдХрд░рдг рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ)
рдпрд╣рд╛рдВ рд╡рд╣ рдЖрд▓реЗрдЦ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рд╣реИред https://medium.com/@chuckyong_3313/react -native-android-build-compilation-issue-with-google-play-api-for-android-v12-0-0-ccb2f1a0fb9c
@ashishmusale рдЖрдкрдХрд╛ рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕рдВрд╕реНрдХрд░рдг рдХреМрди рд╕рд╛ рд╣реИ? рдореИрдВрдиреЗ рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕рдВрд╕реНрдХрд░рдг 3.1.3 . рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рд╣реИ
gradle-wrapper.properties
#Fri Jun 08 10:09:57 IST 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
app/build.gradle
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/' } // Gradle Plugin Portal
}
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.10.0, 0.99.99]'
}
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: "com.android.application"
import com.android.build.OutputFile
/**
* The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
* and bundleReleaseJsAndAssets).
* These basically call `react-native bundle` with the correct arguments during the Android build
* cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
* bundle directly from the development server. Below you can see all the possible configurations
* and their defaults. If you decide to add a configuration block, make sure to add it before the
* `apply from: "../../node_modules/react-native/react.gradle"` line.
*
* project.ext.react = [
* // the name of the generated asset file containing your JS bundle
* bundleAssetName: "index.android.bundle",
*
* // the entry file for bundle generation
* entryFile: "index.android.js",
*
* // whether to bundle JS and assets in debug mode
* bundleInDebug: false,
*
* // whether to bundle JS and assets in release mode
* bundleInRelease: true,
*
* // whether to bundle JS and assets in another build variant (if configured).
* // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
* // The configuration property can be in the following formats
* // 'bundleIn${productFlavor}${buildType}'
* // 'bundleIn${buildType}'
* // bundleInFreeDebug: true,
* // bundleInPaidRelease: true,
* // bundleInBeta: true,
*
* // whether to disable dev mode in custom build variants (by default only disabled in release)
* // for example: to disable dev mode in the staging build type (if configured)
* devDisabledInStaging: true,
* // The configuration property can be in the following formats
* // 'devDisabledIn${productFlavor}${buildType}'
* // 'devDisabledIn${buildType}'
*
* // the root of your project, i.e. where "package.json" lives
* root: "../../",
*
* // where to put the JS bundle asset in debug mode
* jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
*
* // where to put the JS bundle asset in release mode
* jsBundleDirRelease: "$buildDir/intermediates/assets/release",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in debug mode
* resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in release mode
* resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
*
* // by default the gradle tasks are skipped if none of the JS files or assets change; this means
* // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
* // date; if you have any other folders that you want to ignore for performance reasons (gradle
* // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
* // for example, you might want to remove it from here.
* inputExcludes: ["android/**", "ios/**"],
*
* // override which node gets called and with what additional arguments
* nodeExecutableAndArgs: ["node"],
*
* // supply additional arguments to the packager
* extraPackagerArgs: []
* ]
*/
project.ext.react = [
entryFile: "index.js"
]
apply from: "../../node_modules/react-native/react.gradle"
/**
* Set this to true to create two separate APKs instead of one:
* - An APK that only works on ARM devices
* - An APK that only works on x86 devices
* The advantage is the size of the APK is reduced by about 4MB.
* Upload all the APKs to the Play Store and people will download
* the correct one based on the CPU architecture of their device.
*/
def enableSeparateBuildPerCPUArchitecture = false
/**
* Run Proguard to shrink the Java bytecode in release builds.
*/
def enableProguardInReleaseBuilds = false
android {
compileSdkVersion 27
buildToolsVersion '27.0.3'
defaultConfig {
applicationId "com.nesignal"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86"
}
}
buildTypes {
release {
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:
// http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
def versionCodes = ["armeabi-v7a":1, "x86":2]
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
}
}
}
}
dependencies {
compile project(':react-native-onesignal')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+" // From node_modules
}
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
android/build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'com.google.gms:google-services:3.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
}
}
ext {
googlePlayServicesVersion = '11.8.0'
compileSdkVersion = 27
buildToolsVersion = '27.0.3'
supportLibrariesVersion = '27.1.0'
}
// Force sub libs to use the compile sdk & build tools version
subprojects { subproject ->
afterEvaluate{
if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
}
}
}
}
рдФрд░ рддреНрд░реБрдЯрд┐ рд╣реЛ рд░рд╣реА рд╣реИ
Firebase-messaging.jar (com.google.firebase:firebase-messaging:12.0.0) рдирд╣реАрдВ рдорд┐рд▓рд╛ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдЦреЛрдЬрд╛ рдЧрдпрд╛:
https://jcenter.bintray.com/com/google/firebase/firebase-messaging/12.0.0/firebase-messaging-12.0.0.jar
https://github.com/davekedar/onesignal-error.git рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд░реЗрдкреЛ рд╣реИ рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдЕрдЧреНрд░рд┐рдо рдзрдиреНрдпрд╡рд╛рдж @ashishmusale @Nightsd01
@davekedar рдореИрдВ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛
@davekedar рдореИрдВрдиреЗ рдХреБрдЫ рдореБрджреНрджреЛрдВ рдХреЛ рджреЗрд░ рд╕реЗ рджреЗрдЦрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ jcenter рдЕрдм Google рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдЖрдкрдХреЗ allprojects { repositories { ... } }
рдЕрдиреБрднрд╛рдЧ рдореЗрдВ google()
рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
allprojects {
repositories {
mavenLocal()
google()
jcenter()
// ...
}
}
@ashishmusale @jkasten2 рдзрдиреНрдпрд╡рд╛рдж рдпрд╣ рдЕрдм рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдпрд╣ рд╡рди рд╕рд┐рдЧреНрдирд▓ рдХреЗ рд╕рд╛рде рдкрдВрдЬреАрдХреГрдд рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ
рдпрд╣ рдореЗрд░рд╛ рдРрдк рд╣реИредрдЬреЗрдПрд╕
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import OneSignal from 'react-native-onesignal'; // Import package from node modules
export default class App extends React.Component {
state = {
device : ''
}
componentWillMount() {
OneSignal.init("206a6513-b453-4807-89c1-040389fa8dea");
OneSignal.addEventListener('received', this.onReceived);
OneSignal.addEventListener('opened', this.onOpened);
OneSignal.addEventListener('ids', this.onIds);
}
componentWillUnmount() {
OneSignal.removeEventListener('received', this.onReceived);
OneSignal.removeEventListener('opened', this.onOpened);
OneSignal.removeEventListener('ids', this.onIds);
}
onReceived(notification) {
console.log("Notification received: ", notification);
}
onOpened(openResult) {
console.log('Message: ', openResult.notification.payload.body);
console.log('Data: ', openResult.notification.payload.additionalData);
console.log('isActive: ', openResult.notification.isAppInFocus);
console.log('openResult: ', openResult);
}
onIds(device) {
this.setState({device: device})
}
render() {
return (
<View style={styles.container}>
<Text>Open up App.js to start working on your app!</Text>
<Text>Changes you make will automatically reload.</Text>
<Text>Shake your phone to open the developer menu.</Text>
<Text>Device Info : {this.state.device}</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
@ashishmusale рдореИрдВрдиреЗ рдЕрдВрддрд┐рдо рд╕рдВрдХрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рд╕рдм рдХреБрдЫ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж
рд╕реБрди рдХреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛!
рдХреНрдпрд╛ рдХреЛрдИ рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреБрд╖реНрдЯрд┐ рдХреА рдЧрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреЗ рд╕рдХрддрд╛ рд╣реИ, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ .... рдореИрдВ 2 рджрд┐рдиреЛрдВ рд╕реЗ рдЕрдЯрдХрд╛ рд╣реБрдЖ рд╣реВрдВред рдореЗрд░реЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ ..................... plz
@nahidmbstu рдореБрдЭреЗ рдмрддрд╛рдУ рдХрд┐ рддреБрдо рдХрд╣рд╛рдБ рдлрдВрд╕ рдЧрдП рд╣реЛ рд╣рд░ рдХрд┐рд╕реА рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдЬреАрдм рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЖрдЗрдП рдЗрд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ
рдореИрдВ 3.1.4 рдкрд░ рдЬреАрд╕реАрдПрдо рд▓рд╛рдЗрд╕реЗрдВрд╕ рддреНрд░реБрдЯрд┐ рд╣реВрдВ рдФрд░ рдЬрдм рдореИрдВ рдЗрд╕ рд░реЗрдкреЛ рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ ..... рдореБрдЭреЗ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ...
рдпрд╣рд╛рдБ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ https://github.com/davekedar/onesignal-error
рдбрд┐рд╡рд╛рдЗрд╕ рдЖрдИрдбреА рдкрд░ рдкреБрд╢ рдЯреЛрдХрди рдирд▓ ............ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ред @рджрд╡реЗрдХреЗрджрд╛рд░ ред рдПрдХ рд╕рд┐рдЧреНрдирд▓ рдбреИрд╢рдмреЛрд░реНрдб рдкрд░ Google Play рд╕реЗрд╡рд╛ рдЖрд░рдВрднреАрдХрд░рдг рддреНрд░реБрдЯрд┐ рднреА рд╣реЛ рд░рд╣реА рд╣реИред
@nahidmbstu рдХреНрдпрд╛ рдЖрдкрдиреЗ рдПрдХ рдирдИ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ?
рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ Google Play рд╕реЗрд╡рд╛ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдереА, рдпрд╣реА рдХрд╛рд░рдг рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдлреЙрд▓реЛ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ
https://github.com/geektimecoil/react-native-onesignal/issues/387
@nahidmbstu рдЕрджреНрднреБрдд
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореБрдЭреЗ рдПрдХ рдФрд░ рдмрджрд▓рд╛рд╡ рдХрд░рдирд╛ рдерд╛ред рдореИрдВ
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
рдореЗрдВgradle-wrapper.properties
, рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред CompilSdkVersion 23 рд╣реИ рдФрд░ buildToolsVersion 23.0.1 рд╣реИ