我正在使用React Native 0.43.4
构建Android应用。
运行react-native run-android
后,我收到以下错误:
/Applications/MAMP/htdocs/myapp/android/app/build/intermediates/res/merged/debug/values-v24/values-v24.xml:3: AAPT: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.
/Applications/MAMP/htdocs/myapp/android/app/build/intermediates/res/merged/debug/values-v24/values-v24.xml:4: AAPT: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.
/Applications/MAMP/htdocs/myapp/android/app/build/intermediates/res/merged/debug/values-v24/values-v24.xml:3: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.
/Applications/MAMP/htdocs/myapp/android/app/build/intermediates/res/merged/debug/values-v24/values-v24.xml:4: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.
:app:processDebugResources FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt
我见过类似的问题,因为编译SDK版本与构建工具版本不匹配:
但是,如果你看看我的build.gradle,你会发现它们匹配:
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.myapp"
minSdkVersion 16
targetSdkVersion 23
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-navigation')
compile project(':react-native-fs')
compile project(':react-native-camera')
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 studio安装了Android SDK。当我输入android list target
时,我会收到以下内容:
Available Android targets:
----------
id: 1 or "Google Inc.:Google APIs:23"
Name: Google APIs
Type: Add-On
Vendor: Google Inc.
Revision: 1
Description: Google APIs
Based on Android 6.0 (API level 23)
Libraries:
* com.google.android.maps (maps.jar)
API for Google Maps
* com.android.future.usb.accessory (usb.jar)
API for USB Accessories
* com.google.android.media.effects (effects.jar)
Collection of video effects
----------
id: 2 or "android-23"
Name: Android API 23
Type: Platform
API level: 23
Revision: 3
----------
id: 3 or "android-24"
Name: Android API 24
Type: Platform
API level: 24
Revision: 2
----------
id: 4 or "android-25"
Name: Android API 25
Type: Platform
API level: 25
Revision: 3
----------
id: 5 or "android-26"
Name: Android API 26
Type: Platform
API level: 26
Revision: 1
我很乐意得到任何帮助!
答案 0 :(得分:2)
我遇到了同样的问题。
如果您确实使用react-native-fbsdk,请在此处查看问题和答案:Facebook Sdk Android Error Building
对我来说,我只需将/android/app/build.gradle中的compileSdkVersion和buildToolsVersion更改为25和25.0.1即可解决此问题。
compileSdkVersion 25
buildToolsVersion “25.0.1”