react-native升级会改变MainActivity.java的路径,如何保持原始路径?

时间:2016-12-04 07:15:53

标签: react-native react-native-android

我克隆了f8app项目

然后在此项目中运行react-native upgrade

它将在路径android/app/src/main/java/com/f8v2/MainActivity.java创建MainActivity.java,而不是使用原始路径。

原始路径是

android/app/src/main/java/com/facebook/f8/MainActivity.java

以下是我的操作

$ git clone git@github.com:fbsamples/f8app.git
$ cd f8app
$ npm install
$ ls android/app/src/main/java/com/facebook/f8
MainActivity.java
$ react-native upgrade
Upgrading project to react-native v0.28.0
...
   create android/app/src/main/java/com/f8v2/MainActivity.java

其他信息

  • React Native版本:0.28.0 +
  • 平台:android
  • 操作系统:MacOS,Windows

实际上它并不是版本问题。

它也会在其他版本中创建新文件,例如。 0.32.0

看起来它会根据package.json中的名称而不是android/app/src/main/AndroidManifest.xml中的现有包名创建新文件,我在此处检查了升级过程中的代码https://github.com/facebook/react-native/blob/0.38-stable/local-cli/generator-android/index.js

this.option('package', {
  desc: 'Package name for the application (com.example.app)',
  type: String,
  defaults: 'com.' + this.name.toLowerCase()
});

...

var javaPath = path.join.apply(
  null,
  ['android', 'app', 'src', 'main', 'java'].concat(this.options.package.split('.'))
);
this.fs.copyTpl(
  this.templatePath(path.join('package', '**')),
  this.destinationPath(javaPath),
  templateParams
);

如何保持原始路径?

0 个答案:

没有答案