Closed kfayay closed 5 years ago
可以采用手动link的方式:
Android/crnbase/build.gradle
中, 添加第三方库的Android依赖dependencies {
+ compile project(':[第三方库]')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+" // From node_modules
}
Android/settings.gradle
中include ':app'
+ include ':[第三方库]'
+ project(':第三方库').projectDir = new File(rootProject.projectDir, '../node_modules/第三方库的具体路径')
Android/crnbase/src/main/java/ctrip/wireless/android/crn/extend/CRNProvider.java
,中加入第三方库对应的Package的依赖
public class CRNProvider {
public static List<ReactPackage> provideReactPackages() {
// TODO 在此加入Packages
List list = new ArrayList();
list.addAll(Arrays.asList(
new MainReactPackage(),
+ new [ThirdPartPackage]()
));
return list;
}
}
@chufengma @blackwuxin 感谢你的解答。 同样是使用第三方包,react navigation 依赖的react-native-gesture-handler。 对于gesture-handler手动link碰到了两个问题
mReactRootView = new RNGestureHandlerEnabledRootView(getActivity());
这个地方不知道对不对。node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.java:16: 错误: 程序包com.facebook.react.module.annotations不存在 import com.facebook.react.module.annotations.ReactModule;