如何使用 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
我正在尝试 运行 成功 ./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