java项目生成native_react-native创建android原生模块

本文介绍了如何在Java项目中生成一个React Native的Android原生模块。步骤包括创建新的module,修改app/build.gradle文件,配置新module的build.gradle,创建Java文件如RNUmengAnalyticsModule和RNUmengAnalyticsPackage,最后在MainApplication中添加新package并迁移至node_modules。
摘要由CSDN通过智能技术生成

参考文档

具体操作

1) 创建一个新的module

具体操作:需要切换到project目录结构,然后对着项目根目录来进行创建。或者直接在android目录结构下,空白位置右键,new一个module出来。

1460000010004186

1460000010004187

找到module的位置,然后将其迁移到对应的文件夹中,并将文件夹改名为android

2) 在app/build.gradle下面,添加compile project

1460000010004188

3) 打开新创建的module下的build.gradle,加入必须的compile project

1460000010004189

其中,react-native是必须的,一定要有的。

然后,可以添加Module下所需的compile依赖,并添加依赖额外安装的路径(mavenCentral())

4) 在新创建的module下创建对应的java文件,包括:

1/ module文件: RNUmengAnalytics[Module]

2/ package文件:RNUmengAnalyticsPackage

1460000010004190

其中,module文件里面初始化的代码包括:

1460000010004191

package com.pampang.RNUmengAnalytics;

import com.facebook.react.bridge.ReactApplicationContext;

import com.facebook.react.bridge.ReactContextBaseJavaModule;

/**

* Created by PAMPANG on 2016/11/24.

*/

public class RNUmengAnalytics extends ReactContextBaseJavaModule {

// 构造方法

public RNUmengAnalytics(ReactApplicationContext reactContext) {

super(reactContext);

}

// 覆写getName方法,它返回一个字符串名字,在JS中我们就使用这个名字调用这个模块

@Override

public String getName() {

return "UmengAnalytics";

}

}

package文件的初始化代码包括:

1460000010004192

package com.pampang.RNUmengAnalytics;

import com.facebook.react.ReactPackage;

import com.facebook.react.bridge.JavaScriptModule;

import com.facebook.react.bridge.NativeModule;

import com.facebook.react.bridge.ReactApplicationContext;

import com.facebook.react.uimanager.ViewManager;

import java.util.Arrays;

import java.util.Collections;

import java.util.List;

/**

* Created by PAMPANG on 2016/11/24.

*/

public class RNUmengAnalyticsPackage implements ReactPackage {

@Override

public List createNativeModules(ReactApplicationContext reactContext) {

return Arrays.asList(new NativeModule[] {

new RNUmengAnalytics(reactContext)

});

}

@Override

public List> createJSModules() {

return Collections.emptyList();

}

@Override

public List createViewManagers(ReactApplicationContext reactContext) {

return Collections.emptyList();

}

}

5) 在MainApplication里添加新创建的package

1460000010004193

6) 迁移时刻

将创建的module迁移到node_modules下,再从node_modules引入该项目。

新创建的module会出现在android/目录下。

直接将其剪切到对应的npm仓库里面去,将目录名字改为android。

在android/settings.gradle里面,引入对应的Module:

1460000010004194

再次gradle sync,大功告成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值