步骤1:npm安装react本机映像选择器
。。。。。。应用程序仍在构建中
步骤2:反应本机链接反应本机图像选择器
。。。应用程序不再编译
当我清理渐变时,我会出现错误:">无法将进程工作目录设置为'C:\code\rn\xs\node_modules\areact native image picker\example\android':无法设置当前目录(错误号3(">
当我尝试在gradle中重建时,我也会遇到错误:">清单合并失败:属性application@appComponentFactoryvalue=(android.support.v4.app.CoreComponentFactory(来自[com.android.support:support-compat:28.0.0]AndroidManifest.xml:22:18-191也出现在[androidx.core:core:1.0.0]AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory(中。建议:在AndroidManifest.xml:6:5-117的元素中添加'tools:replace="android:appComponentFactory"'以覆盖".
所以我接受了错误消息的建议,并将"tools:replace="android:appComponentFactory"添加到应用程序元素中
我现在在清理时仍然会遇到同样的错误。。。。。但重建时的错误有点不同:">tools:replace在第10行为属性android:appComponentFactory指定,但没有指定新值。">
.
请帮助!!
作为Lenoarod答案的补充,您可以使用jetifier库。它将帮助您转换所有尚未转换为AndroidX的库。
根据文件
所以现在你需要将你的应用程序转换为AndroidX,但你的许多react原生库都提供了原生Java代码,而且还没有更新。这是怎么做到的?
首先,使用Android Studio的重构工具来转换您的应用程序re:Android开发者文档
1。npm install--保存dev-jeifier
2。npx jetify
3。npx-react本机运行android(你的应用程序应该正确编译和工作(
4。在你的package.json的postinstall目标中调用npx-jetify run(任何时候你的依赖项更新,你都必须再次使用jetify(
您的react本机版本使用Androix库,但您安装的react本地图像选择器使用android.support.v4。因此,当您构建项目时,就会发生这种错误。我建议有两种方法来解决这个问题
一个解决方案是更新react-native-image-picker
版本。新版本支持androix支持的库。以下是官方消息引导
To use this library you need to ensure you match up with the correct version of React Native you are using. the flowing is the [official guide][1].
p.s. React Native introduced AndroidX support in 0.60, which is a breaking change for most libraries (incl. this one) using native Android functionality.
如果必须使用旧版本,则可以修改与react-native-image-picker
相关的文件。例如ImagePickerModule、ImageConfig。它们位于android/src/main文件夹中
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.StyleRes;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AlertDialog;
谢谢大家。勒祖丁的回答最接近。。。。我所需要做的就是从菜单栏中选择"Refactor>迁移到AndroidX";仅此一项就解决了问题