首页 > 解决方案 > 您是否在 `app/build.gradle` 中添加多个构建脚本以在 React Native 中手动链接 Android?

问题描述

在为这个 React Native 组件添加 gradle 插件的部分中,它告诉我将以下代码添加到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.12.1, 0.99.99]'
    }
}

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

但是,我添加了其他表示要添加类似代码的组件。例如,该组件说要添加以下代码:

buildscript {
  repositories {
    maven { url 'https://maven.fabric.io/public' }
  }
  dependencies {
    // The Fabric Gradle plugin uses an open ended version to react
    // quickly to Android tooling updates
    classpath 'io.fabric.tools:gradle:1.+'
  }
}
apply plugin: 'io.fabric'
repositories {
  maven { url 'https://maven.fabric.io/public' }
}

我想知道的:

如何将这两个组件的代码添加到同一个项目中?

标签: androidreactjsreact-native

解决方案


您应该有一个构建脚本并在repositories 块中添加所有存储库,并在dependencies 块中添加依赖项

应该是这样的

buildscript {
    repositories {
        maven { url 'https://plugins.gradle.org/m2/' } // Gradle Plugin Portal 
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.12.1, 0.99.99]'
        // The Fabric Gradle plugin uses an open ended version to react
        // quickly to Android tooling updates
        classpath 'io.fabric.tools:gradle:1.+'
    }
}

对于应用插件应该在 app 模块的 build.gradle 中将它们添加到顶部

apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: 'io.fabric'
android {
 compileSdkVersion 28

 defaultConfig {
    applicationId "your.app.package"
  }
}

推荐阅读