繁体   English   中英

React Native 集成到现有的 android 项目

[英]React native integrate to existing android project

我正在尝试将本机集成到现有的 android 项目,但在 android 工作室中构建项目时抛出异常。

原因:java.lang.Exception:React Native CLI 无法确定 Android 项目配置。 这很可能是由于配置错误。 配置 output: [root:/Users/muratoner/Desktop/backup/Sabanci.Projects/Mobile/hrweb-react-native/android, reactNativePath:/Users/muratoner/Desktop/backup/Sabanci.Projects/Mobile/hrweb-react- native/node_modules/react-native,依赖项:[:],命令:[],资产:[],平台:[:],急速:[providesModuleNodeModules:[],平台:[]],项目:[:]]在 ReactNativeModules.getReactNativeConfig(/Users/muratoner/Desktop/backup/Sabanci.Projects/Mobile/hrweb-react-native/node_modules/@react-native-community/cli-platform-android/native_modules.gradle:212) 在 ReactNativeModules$ getReactNativeConfig.callCurrent(Unknown Source) at ReactNativeModules.(/Users/muratoner/Desktop/backup/Sabanci.Projects/Mobile/hrweb-react-native/node_modules/@react-native-community/cli-platform-android/native_modules.gradle :84) 在 native_modules_8dnp0y65ugw2tp4vo89t6lw0x.run(/Users/muratoner/Desktop/backup/Sabanci.Projects/Mobile/hrweb-react -native/node_modules/@react-native-community/cli-platform-android/native_modules.gradle:244) at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:91)...还有 148 个

反应原生 package.json

{
  "name": "MyApp",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "yarn react-native start"
  },
  "dependencies": {
    "@react-native-community/cli-platform-android": "^3.0.3",
    "react": "^16.9.0",
    "react-native": "^0.61.5"
  }
}

安卓/build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        google()
        jcenter()
        // Add Maven repo
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.0.1'
        //classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.+'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        google()
        maven { url 'https://jitpack.io' }
        maven { 
            // All of React Native (JS, 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")
        }
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

安卓/settings.gradle

include ':app'

apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle");
applyNativeModulesSettingsGradle(settings);

android/app/build.gradle

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
        maven { url 'https://plugins.gradle.org/m2/' }
    }

    dependencies {
    }
}

apply plugin: 'com.android.application'
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)


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

android {
    compileSdkVersion 29
    buildToolsVersion '29.0.2'

    defaultConfig {
        applicationId "com.myapp.android"
        minSdkVersion 16
        targetSdkVersion 29
        versionCode 111
        versionName "1.1.1"
        multiDexEnabled true
    }

    lintOptions {
        abortOnError false
    }
}

dependencies {
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:design:28.0.0'
    implementation 'com.android.support:support-v4:28.0.0'
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation 'com.android.support:cardview-v7:28.0.0'

    implementation "com.facebook.react:react-native:+" // From node_modules
    implementation "org.webkit:android-jsc:+"
}

我尝试了不同的方法,但仍然抛出相同的异常。

只需在您的 AndroidManifest.xml 中添加 package 名称

<manifest 
 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="example"
>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM