uni原生插件(Android)开发

1.准备

新建项目

在项目里导入uniapp-release.aar

创建library的Module

配置刚创建的Module的build.gradle

dependencies {

    compileOnly fileTree(include: ['*.jar'], dir: 'libs')

    compileOnly 'com.android.support:support-v4:28.0.0'

    compileOnly 'com.android.support:appcompat-v7:28.0.0'

    compileOnly fileTree(include: ['uniapp-release.aar'], dir: '../app/libs')

    compileOnly 'com.alibaba:fastjson:1.1.46.android'

}

 

2.创建TestModule类

public class TestModule extends WXModule{

//run ui thread

@JSMethod(uiThread = true)

public void testAsyncFunc(JSONObject options, JSCallback callback) {

    //options:uniapp传过来的值

    Log.e(TAG, "testAsyncFunc--"+options);

    JSON json = new JSONObject(options);

    Log.e(TAG, "testAsyncFunc--"+((JSONObject) json).getString(“name”).toString());

   

    if(mWXSDKInstance != null && mWXSDKInstance.getContext() instanceof Activity) {

       

        Intent intent = new Intent(mWXSDKInstance.getContext(), RTCEntranceActivity.class);

        ((Activity)mWXSDKInstance.getContext()).startActivityForResult(intent, REQUEST_CODE);

    }

    if(callback != null) {

        JSONObject data = new JSONObject();

        data.put("code", "success");

        callback.invoke(data);

        //callback.invokeAndKeepAlive(data);

    }

}

//run JS thread

@JSMethod (uiThread = false)

public JSONObject testSyncFunc(){

    JSONObject data = new JSONObject();

    data.put("code", "success");

    return data;

}

}

防混淆

-keep public class * extends com.taobao.weex.common.WXModule{*;}

 

3.打包aar

Android Studio 右侧的Gradle面板 选择需要打包的module —> Tasks —> build, 双击 assemble

Build Successed 之后,将会在module的build/outputs/aar目录下生成 debug 和 release 两个版本的 aar包

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值