默认初始化的React Native工程,生成Android工程的时候,包名默认是React Native工程的名字,跟一般Android工程com.company.xxx不一样。

这时候就需要手动修改Android工程里面的包名信息:

如下:

首先修改React Native目录下的MainActivity.java的包名,具体路径是(android/app/src/main/java/com/PROJECT_NAME/MainActivity.java

修改 package MY.COMPANY.APPID;

然后修改MainApplication.java的包名:具体路径是(android/app/src/main/java/com/PROJECT_NAME/MainApplication.java)\

修改  package MY.COMPANY.APPID;

然后修改AndroidManifest.xml里面的包名,具体路径是( android/app/src/main/AndroidManifest.xml)

修改  package = ”MY.COMPANY.APPID“

然后再修改build.gradle文件,文件路径是(android/app/build.gradle)

applicationId "MY.COMPANY.APPID"

然后再clean整个工程即可,在路径android文件下执行如下命令:

./gradlew clean

然后执行 react-native run-android 即可。

如果遇见如下错误信息:

PATIBLE: Package com.edaixi signatures do not match the previously installed version; ignoring!
Unable to install /Volumes/CoderFile/react_delivery/ReactDelivery/android/app/build/outputs/apk/app-debug.apk
com.android.ddmlib.InstallException: Failed to finalize session : INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.edaixi signatures do not match the previously installed version; ignoring!at com.android.ddmlib.Device.installPackages(Device.java:915)at com.android.builder.testing.ConnectedDevice.installPackages(ConnectedDevice.java:113)at com.android.builder.testing.ConnectedDevice$installPackages$0.call(Unknown Source)at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)at com.android.build.gradle.internal.tasks.InstallVariantTask.install(InstallVariantTask.groovy:119)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:226)at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:219)at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:208)at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:589)at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:572)at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:310)at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:90)at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:41)at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:50)at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:27)at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:40)at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:169)at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)at org.gradle.launcher.Main.doAction(Main.java:33)at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)at org.gradle.launcher.GradleMain.main(GradleMain.java:23)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127)at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
:app:installDebug FAILEDFAILURE: Build failed with an exception.* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: Failed to finalize session : INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.edaixi signatures do not match the previously installed version; ignoring!* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.BUILD FAILEDTotal time: 1 mins 23.194 secs
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/android-setup.html

可能是已经安装了与之冲突的相关应用,卸载相关应用,重新安装即可解决.

React Native工程修改Android包名相关推荐

  1. eclipse修改android包名,Eclipse 如何快速修改工程名及包名

    修改工程名/包名,也是咱们在开发中常常遇到的问题,好比咱们在开发过程当中忽然以为项目名不合适,或者根包名不合适想修改一下怎么办? 缓存 在Eclipse中修改Android应用程序包名时,须要修改的几 ...

  2. (转)[Android] 利用 ant 脚本修改项目包名

    [Android] 利用 ant 脚本修改项目包名在开发android应用项目的时候,经常会有这样的需求,一个应用项目,要求 房价上半年下行 下半年或回暖 在不同的OEM下有不同的包名,不同的资源,不 ...

  3. Android修改项目包名

    1.首先新建一个项目,默认结构如下,红色的就是包名 2,更改显示项目结构方式,首先1,点击齿轮的图案.然后把第二步中的勾去掉 3更改项目结构显示后如下: 4,选中要修改的报名,快捷键shift + F ...

  4. React Native工程中TSLint静态检查工具的探索之路

    背景 建立的代码规范没人遵守,项目中遍地风格迥异的代码,你会不会抓狂? 通过测试用例的程序还会出现Bug,而原因仅仅是自己犯下的低级错误,你会不会抓狂? 某种代码写法存在问题导致崩溃时,只能全工程检查 ...

  5. android 回退函数,详解React Native监听Android回退按键与程序化退出应用

    详解React Native监听Android回退按键与程序化退出应用 发布时间:2020-09-29 09:25:52 来源:脚本之家 阅读:137 作者:lqh 详解React Native监听A ...

  6. uniApp APP端 支付/分享 微信开放平台的Android 包名签名的坑

    在开放平台配置好包名和签名后是会"立即生效" 网上看2种解决方法能立即生效 1.微信重新登录 2.卸载微信重新安装 原因:当你在你的APP上使用微信登录/分享/支付等,微信客户端会 ...

  7. 通过输入ab包名和后缀名自动添加或修改ab包名(同一文件夹下的所有文夹都会被修改包括子文件夹)

    说明 temp = temp.Substring(temp.IndexOf("Assets")); 这段代码主要是获取的文件路径为完整路径,而AssetImporter.GetAt ...

  8. AndroidStudio一步步教你修改项目包名

    如果你看了很多篇博文还是修改不了包名,我相信这篇可以帮你解决修改包名的问题 修改项目包名,实现不覆盖安装(如果只是想不覆盖安装,更改build.gradle里面的包名就OK了,那这篇博文到这里就可以结 ...

  9. 回退监听android,详解React Native监听Android回退按键与程序化退出应用

    详解React Native监听Android回退按键与程序化退出应用 前言 我们知道Android回退按键,会控制页面返回, 并且退出应用并非真正意义退出,仍在后台运行,所以在某些场景下需要监控an ...

最新文章

  1. matplotlib绘制热力图
  2. 洛谷P1937 [USACO10MAR]仓配置Barn Allocation
  3. WEB中的java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
  4. VB6中的面向对象编程---实现类继承
  5. mysql curd语句_MySQL常用SQL语句(CURD,建表,加字段,查改参数)
  6. windbg入门之旅:(2)一个简单的integer divide-by-zero exception分析案例
  7. 【图像处理基础】基于matlab GUI图片浏览器【含Matlab源码 1015期】
  8. 到底该如何看待谭浩强的“C程序设计”
  9. java定义方法判断字符串是否对称- 例如:“abcba“、“上海自来水来自海上“均为对称字符串。
  10. Volatile关键字~转载自博客园的“海子”
  11. Windows 10安装labelImg(有压缩包链接)标注弹孔,生成.xml文件。
  12. 四.Protobuf3 缺省值
  13. unity探索者之Shader Graph所有节点详解-Input篇
  14. 各行业容灾备份架构#容灾#,
  15. Pycharm中光标变粗 光标进入改写状态
  16. PUK 1028 WebNavigation
  17. 抽象代数——群的基本定义和一些例子
  18. 活字格对接RF手持机与ERP系统,帮助RFID快速盘点方案落地
  19. Angular2.x-显示heroes列表
  20. 在线音乐网站【05】测试

热门文章

  1. 18.IDA-创建自己的sig(创建自己的标签)
  2. 6.IDA-重命名、注释
  3. python模拟页面调度LRU算法
  4. git 码云 使用记录
  5. C++11范围for循环
  6. h5页面嵌入android app时遇到的问题
  7. MinGW 使用 msvcr90.dll
  8. Tomcat的目录结构详解
  9. [转]汇编语言的准备知识--给初次接触汇编者 3
  10. bcp+Sql语句抽取数据导出