一:替换代码android/app/build.gradle
文件部分代码
找到项目底下 android/app/build.gradle 文件 (不是android/build.gradle 文件)
把 apply from: "…/…/node_modules/react-native-vector-icons/fonts.gradle"
换成
project.ext.vectoricons = [
iconFontNames: [ 'MaterialIcons.ttf', 'EvilIcons.ttf' ] // Name of the font files you want to copy
]
apply from: "../../node_modules/react-native-vector-icons/fonts.gradle"
二:复制文件react-native-vector-icons/Fonts
到项目下的 node_modules/react-native-vector-icons/Fonts
里的所有文件复制 到android/app/src/main/assets/fonts
里面 (一般没有 assets/fonts,需要自己创建这两个文件)
三:在 android/settings.gradle 文件 添加
rootProject.name = 'MyApp'
include ':app'
+ include ':react-native-vector-icons'
+ project(':react-native-vector-icons').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vector-icons/android')
四:在 android/app/build.gradle
文件 dependencies
配置 添加
apply plugin: 'com.android.application'
android {
...
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile "com.android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+" // From node_modules
+ compile project(':react-native-vector-icons')
}
在新版本中 compile 建议使用 implementation
五:再修改 android/app/src/main/java/… MainApplication.java
文件
package com.myapp;
+ import com.oblador.vectoricons.VectorIconsPackage;
....
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage()
+ , new VectorIconsPackage()
);
}
}
RN 0.64 新版中
package com.myapp;
+ import com.oblador.vectoricons.VectorIconsPackage;
....
@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 VectorIconsPackage())
return packages;
}
你会发现 在新版本中 之前名字相同的配置文件 很多内容都跟以前不一样了
在步骤五中 在 new VectorIconsPackage() 后 你会发现项目报错了 原因可能是重复了吧
- 解决办法 步骤五中不用加 new VectorIconsPackage()