站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        淺談Uniapp中怎么開發(fā)安卓原生插件

        Uniapp中怎么開發(fā)安卓原生插件?下面uniapp教程欄目給大家介紹一下Uniapp安卓原生插件開發(fā)的方法,希望對大家有所幫助!

        淺談Uniapp中怎么開發(fā)安卓原生插件

        Android

        環(huán)境準(zhǔn)備

        l JAVA環(huán)境 jdk1.8

        l Android Studio 下載地址:Android Studio官網(wǎng) OR Android Studio中文社區(qū)

        l App離線SDK下載:請下載2.9.8+版本的android平臺SDK

        導(dǎo)入uni插件原生項(xiàng)目

        l UniPlugin-Hello-AS工程請?jiān)贏pp離線SDK中查找

        l 點(diǎn)擊Android Studio菜單選項(xiàng)File—>New—>Import ProjectApp離線SDK下

        淺談Uniapp中怎么開發(fā)安卓原生插件

        淺談Uniapp中怎么開發(fā)安卓原生插件

        插件開發(fā)

        uni-app插件目前僅支持Module擴(kuò)展和Component擴(kuò)展,暫時(shí)不支持Adapter擴(kuò)展,下面介紹的是Module擴(kuò)展(非UI的功能擴(kuò)展)

        1、新建Module,F(xiàn)ile->New->New Module,選擇Android Library,填寫信息,點(diǎn)擊Finish

        淺談Uniapp中怎么開發(fā)安卓原生插件

        2、編輯新建Module的build.gradle文件,添加依賴,使Module具有開發(fā)uniapp插件能力

            移除默認(rèn)依賴,修改為      compileOnly fileTree(dir: 'libs', include: ['*.jar'])     compileOnly fileTree(dir: '../app/libs', include: ['uniapp-v8-release.aar'])     compileOnly "com.android.support:recyclerview-v7:28.0.0"     compileOnly "com.android.support:support-v4:28.0.0"     compileOnly "com.android.support:appcompat-v7:28.0.0"     compileOnly 'com.alibaba:fastjson:1.1.46.android'     implementation 'com.facebook.fresco:fresco:1.13.0'

        淺談Uniapp中怎么開發(fā)安卓原生插件

        3、編寫邏輯,在自己的module中新建一個(gè)java類,用于編寫自己的代碼邏輯

        淺談Uniapp中怎么開發(fā)安卓原生插件

        4、代碼實(shí)現(xiàn)

          • 我們實(shí)現(xiàn)的是一個(gè)Module,需要繼承uni的UniModule

          • 擴(kuò)展方法必須加上@UniJSMethod (uiThread = false or true) 注解,判斷是否需要運(yùn)行在UI線程,默認(rèn)true,擴(kuò)展方法必須public,便于通過uni內(nèi)部調(diào)用

        淺談Uniapp中怎么開發(fā)安卓原生插件

          • 第一個(gè)參數(shù)為傳入的參數(shù),結(jié)構(gòu)為json,通過key獲取需要的參數(shù),第二個(gè)是回調(diào)函數(shù),用于返回給前臺頁面需要的結(jié)果

          • 如果需要用到其他權(quán)限,需要進(jìn)行在AndroidManifest.xml文件進(jìn)行申請,例如日歷的讀取和寫入

        淺談Uniapp中怎么開發(fā)安卓原生插件

        • 編輯UniPlugin-Hello-AS工程下 “app” Module根目錄assets/dcloud_uniplugins.json文件,在nativePlugins節(jié)點(diǎn)下進(jìn)行注冊,type:module,name填寫自己需要暴露的組件名稱,class填寫方法的具體路徑,包名+類名

        淺談Uniapp中怎么開發(fā)安卓原生插件

        dcloud_uniplugins.json說明:

        nativePlugins: 插件根節(jié)點(diǎn),可存放多個(gè)插件 hooksClass: 生命周期代理(實(shí)現(xiàn)AppHookProxy接口類)格式(完整包名加類名) type : module 或 component類型 name : 注冊名稱 class : module 或 component 實(shí)體類完整名稱
        1. 在app的build.gradle注冊自己的組件,名字就是新建的module的名稱,注冊時(shí)候,就可以在android studio中使用了

        淺談Uniapp中怎么開發(fā)安卓原生插件

        到此為止代碼開發(fā)就結(jié)束了,接下來就是用android studio進(jìn)行打離線包的驗(yàn)證,傳送門nativesupport.dcloud.net.cn/AppDocs/use…

        打包驗(yàn)證

        1. Hbuildx新建一個(gè)項(xiàng)目,通過uni.requireNativePlugin進(jìn)行插件調(diào)用

        淺談Uniapp中怎么開發(fā)安卓原生插件

        1. 當(dāng)前uniapp的相關(guān)打包資料需要準(zhǔn)備好,這邊就不在贅述,AppKey,APPID和安卓包名都需要在android studio中進(jìn)行對應(yīng)的配置,還有安卓證書別名以及秘鑰等

        淺談Uniapp中怎么開發(fā)安卓原生插件

        1. 點(diǎn)擊發(fā)行->本地打包->生成本地打包的App資源

        淺談Uniapp中怎么開發(fā)安卓原生插件

        1. 將生成的文件復(fù)制粘貼到UniPlugin-Hello-ASappsrcmainassetsapps下,并且修改dcloud_control.xml文件的appid

        淺談Uniapp中怎么開發(fā)安卓原生插件

        1. 安卓打包參數(shù)配置,包名,證書別名等(圖1),證書文件需要放在app下(圖2)AndroidManifest.xml配置包名和AppKey,就是上面第二步的AppKey

        淺談Uniapp中怎么開發(fā)安卓原生插件

        淺談Uniapp中怎么開發(fā)安卓原生插件

        淺談Uniapp中怎么開發(fā)安卓原生插件

        淺談Uniapp中怎么開發(fā)安卓原生插件

        1. 連接手機(jī),打開USB調(diào)試,點(diǎn)擊運(yùn)行

        淺談Uniapp中怎么開發(fā)安卓原生插件

        淺談Uniapp中怎么開發(fā)安卓原生插件

        Uniapp 打包

        插件生成

        編譯生成module的aar文件:選擇Gradle—>插件module—>Tasks—>other—>assembleRelease(運(yùn)行生成module的aar文件)

        淺談Uniapp中怎么開發(fā)安卓原生插件

        淺談Uniapp中怎么開發(fā)安卓原生插件

        HBuildX引入該插件

        1. 項(xiàng)目根目錄新建nativeplugins–>插件名稱->android->插件aar文件,android下面同步存放package.json(詳細(xì)介紹)

        Tips:插件id必須和文件夾的名稱一致

        淺談Uniapp中怎么開發(fā)安卓原生插件

        1. 打開manifest.json,配置原生插件

        淺談Uniapp中怎么開發(fā)安卓原生插件

        1. 云打包進(jìn)行插件功能驗(yàn)證

        淺談Uniapp中怎么開發(fā)安卓原生插件

        IOS

        第一步先買個(gè)Mac

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 2021国产成人精品久久| 久久精品一区二区三区中文字幕| 99视频在线精品国自产拍亚瑟| 亚洲国产成人精品无码区在线观看| 国产精品女同一区二区久久| 精品国产福利第一区二区三区| 无码精品人妻一区二区三区漫画 | 精品亚洲欧美中文字幕在线看 | 国产亚洲精品岁国产微拍精品| 欧美日韩国产精品自在自线| 国产精品热久久毛片| 青草青草久热精品视频在线网站| 成人精品一区二区三区中文字幕| 在线观看91精品国产网站| 久久er国产精品免费观看8| 99久久国产主播综合精品| 精品国内片67194| 国产精品久久成人影院| avtt天堂网久久精品| 精品国产一区二区三区不卡| 人人妻人人澡人人爽精品日本| 亚洲av午夜福利精品一区人妖| 一本久久精品一区二区| 无码AⅤ精品一区二区三区| 四虎永久在线精品免费一区二区| 久久精品一区二区三区中文字幕| 精品人妻一区二区三区毛片| 久久精品国产亚洲5555| 九九线精品视频在线观看| 国内精品久久久久久麻豆| 国产精品亚洲高清一区二区 | 久久成人国产精品二三区| 国产精品1区2区| 国产精品亚洲精品观看不卡| 国产精品爱啪在线线免费观看| 国产精品久久精品| 精品免费视在线观看| 亚洲国产精品欧美日韩一区二区| 精品亚洲永久免费精品| 日本久久久精品中文字幕| 久久久久夜夜夜精品国产|