react-native打包apk常见错误收集

react-native 0.59打包报错,信息如下,根据错误信息是因为react-native-cookies的sdk版本问题导致的

 1 ./gradlew assembleRelease
 2 
 3 > Configure project :react-native-cookies
 4 WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
 5 It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
 6 WARNING: The specified Android SDK Build Tools version (25.0.2) is ignored, as it is below the minimum supported version (28.0.3) for Android Gradle Plugin 3.3.1.
 7 Android SDK Build Tools 28.0.3 will be used.
 8 To suppress this warning, remove "buildToolsVersion '25.0.2'" from your build.gradle file, as each version of the Android Gradle Plugin now has a default version of the build tools.
 9 
10 > Configure project :react-native-webview
11 :react-native-webview:reactNativeAndroidRoot F:\WorkSpace\CP_HY\node_modules\react-native\android
12 
13 > Task :app:bundleReleaseJsAndAssets
14 warning: the transform cache was reset.
15 Loading dependency graph, done.
16 info Writing bundle output to:, F:\WorkSpace\CP_HY\android\app\build\generated\assets\react\release\index.android.bundle
17 info Done writing bundle output
18 info Copying 50 asset files
19 info Done copying assets
20 
21 > Task :react-native-cookies:verifyReleaseResources FAILED
22 
23 FAILURE: Build failed with an exception.
24 
25 * What went wrong:
26 Execution failed for task ':react-native-cookies:verifyReleaseResources'.
27 > java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed
28   error: resource android:style/TextAppearance.Material.Widget.Button.Borderless.Colored not found.
29   error: resource android:style/TextAppearance.Material.Widget.Button.Colored not found.

根据错误信息,我们找到react-native-cookies下的andorid/build.gradle,修改skd版本如下

android {
    compileSdkVersion 28 // 23 ->28
    buildToolsVersion "28.0.3" // 25.0.2 -> 28.0.3

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    lintOptions {
        abortOnError false
    }
}

重新打包即可;

一般打包react-native应用时,最常见的错误就是第三方插件的sdk版本和react-native中android中的sdk版本不一致导致,这个时候不要慌,修改版本依赖,重新打包即可