ctripcorp / CRN

CRN是Ctrip React Native简称,由携程无线平台研发团队基于React Native框架优化,定制成稳定性和性能更佳、也更适合业务场景的跨平台开发框架。
MIT License
1.46k stars 208 forks source link

react native android第三方包引入问题 #34

Closed kfayay closed 5 years ago

kfayay commented 5 years ago
chufengma commented 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;
    }

}
kfayay commented 5 years ago

@chufengma @blackwuxin 感谢你的解答。 同样是使用第三方包,react navigation 依赖的react-native-gesture-handler。 对于gesture-handler手动link碰到了两个问题