如何使用 assembleRelease 上的 react-native-immediate-phone-call 解决错误

How to resolve error with react-native-immediate-phone-call on assembleRelease

我正在尝试 运行 成功 ./gradlew assembleRelease,但我收到以下错误:

> Task :react-native-immediate-phone-call:verifyReleaseResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-immediate-phone-call:verifyReleaseResources'.
> 1 exception was raised by workers:
  com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed
  error: resource android:style/TextAppearance.Material.Widget.Button.Borderless.Colored not found.
  error: resource android:style/TextAppearance.Material.Widget.Button.Colored not found.

我已按照文档进行操作,但我想知道它是否不准确。

例如,这个问题是否与我的 MainApplication.java 文件有关:

import com.facebook.react.ReactPackage;
import com.facebook.soloader.SoLoader;
import com.github.wumke.RNImmediatePhoneCall.RNImmediatePhoneCallPackage;
import org.devio.rn.splashscreen.SplashScreenReactPackage;

import java.util.List;

public class MainApplication extends Application implements ReactApplication {

  private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
    @Override
    public boolean getUseDeveloperSupport() {
      return BuildConfig.DEBUG;
    }

    @Override
    protected List<ReactPackage> getPackages() {
      @SuppressWarnings("UnnecessaryLocalVariable")
      List<ReactPackage> packages = new PackageList(this).getPackages();
      // Packages that cannot be autolinked yet can be added manually here, for example:
      // packages.add(new MyReactNativePackage());
      packages.add(new ReactNativeOneSignalPackage());
      packages.add(new RNSentryPackage());
      packages.add(new RNDeviceInfo());
      packages.add(new SplashScreenReactPackage());
      packages.add(new RNImmediatePhoneCallPackage());
      packages.add(new SwipeViewPackage());
      return packages;
    }

我的资源是否超过了 RN 0.60.4 所需的资源?

要删除 com.android.builder.internal.aapt.v2.Aapt2Exception,您必须修改以下文件:

node_modules/react-native-immediate-phone-call/android/build.gradle

compileSdkVersion 更改为 28

targetSdkVersion 更改为 27