[英]Importing Android project of React-Native to Android Studio
我創建了一個簡單的React-Native項目,並嘗試將其導入Android Studio IDE。 問題是構建過程失敗並出現以下兩個錯誤:
為了解決第一個錯誤,我在項目級別的build.gradle文件中將appcompat版本更改為27.0.2,其中以前的本機android應用程序已在其中成功構建。 但是使用此API版本會拋出相同的錯誤。 在下面的build.gradle文件已附加,以查看是否有問題。
(build.gradle) --> project level
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
jcenter()
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
}
ext {
buildToolsVersion = "27.0.2"
minSdkVersion = 16
compileSdkVersion = 27
targetSdkVersion = 27
supportLibVersion = "27.0.2"
}
這是模塊級別的build.gradle。
project.ext.react = [
entryFile: "index.js"
]
apply from: "../../node_modules/react-native/react.gradle"
def enableSeparateBuildPerCPUArchitecture = false
def enableProguardInReleaseBuilds = false
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
applicationId "com.sampleproj"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
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.all { variant ->
variant.outputs.each { output ->
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 fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
compile "com.facebook.react:react-native:+" // From node_modules
}
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
我該如何解決這些問題?
我找到了解決問題的步驟。
在項目級build.gradle中將以下代碼行添加到repositoreis部分:
maven { url "$rootDir/../node_modules/react-native/android" }
第一步使構建過程成功完成,但是在模擬器或物理設備上運行時會顯示紅色屏幕,其中指出: 無法從資產index.android.bundle加載腳本 。 要解決此問題,請按照說明進行操作 。
npm安裝
(package.json)
"babel-preset-react-native": "^4.0.0"
並非所有人都需要執行所有步驟,但是當我遇到錯誤時,此過程可以幫助我解決它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.