uniapp調用jar


前言

此方法為使用uniapp開發前端資源,然后繼承進安卓原生項目,達到調用uniapp調用jar的效果。

基於Android Studio進行開發。

本人不懂安卓以及gradle,只是基於搜索引擎以及官方文檔得出以下步驟,如果錯誤或改進之處,望告知。以下步驟親測可用。

項目搭建

此處可以參考官方文檔,說的很詳細了

初始項目是通過對官方demo進行裁剪獲得(個人嘗試過新建項目,未遂)

  1. 下載官方demo

  2. 導入UniPlugin-Hello-AS項目

  3. 刪除官方demo模塊

    官方模塊總共有3個(uniplugin_component、uniplugin_module、uniplugin_richalert)

    • 解除模塊綁定關系

      菜單File -- Project Structure -- Modules

    image-20210602112615712

    • 刪除模塊代碼以及uniapp示例工程源碼

      image-20210602112838399

    • 刪除插件的注冊

      參考官方說明

      清空dcloud_uniplugins.json文件中nativePlugins節點下所有內容

    • 刪除插件引用

      app包下的build.gradle文件

      // 刪除這三塊
      implementation project(':uniplugin_component')
      implementation project(':uniplugin_module')
      implementation project(':uniplugin_richalert')
      
    • 刪除混淆文件多余配置

      修改app包下proguard-rules.pro文件

      刪除末尾的

      -keep class uni.** {*;}
      

uniapp插件開發

uniapp前端項目

  1. 使用Hbuilder X新建uniapp測試項目(Hbuilder下載地址

    類型選擇uni-app 默認模板

  2. index.vue新增測試按鈕

    <template>
     <view class="content">
         <div>
             <button type="primary" @click="testSyncFunc">testSyncFunc</button>
         </div>
     </view>
    </template>
    
    <script>
     // 獲取 module
     var testModule = uni.requireNativePlugin("TestModule")
     export default {
         onLoad() {
    
         },
         methods: {
             testSyncFunc() {
                 // 調用同步方法
                 var ret = testModule.testSyncFunc({
                     'name': 'unimp',
                     'age': 1
                 })
             }
         }
     }
    </script>
    
  3. 打包

    菜單 發行 -- 原生APP-本地打包 -- 生成本地打包app資源

    到控制台輸出的導出路徑中,找到resource目錄下的文件夾(文件夾名字就是appid),后面有用

插件后端開發

  1. 新增Module

    在Android Studio中,右擊項目名稱 -- New -- Module,選擇Android Library

  2. 按照官方文檔修改build.gradle以及新建UniModule(鏈接

  3. 修改混淆文件

    修改app包下proguard-rules.pro

    dependencies標簽里添加implementation project(':xxx')

    xxx就是第一步新建的Module的名字

  4. 引用插件

    修改app包下的build.gradle

  5. 注冊插件

    參考文檔

    dcloud_uniplugins.json文件中nativePlugins

配置

  1. 生成Android平台簽名證書(鏈接

  2. 生成uniapp離線打包key(參考鏈接

    Android包名在在app包下的AndroidManifest.xml中最前面可以找到,默認是com.HBuilder.UniPlugin

  3. 填寫APPID

    app包下的AndroidManifest.xml搜索android:value

  4. 配置安卓證書

    app包下build.gradle → signingConfigs

    將第一步生成的證書文件(.keystore、.jks)放到app目錄下

  5. 插件調試

    參考文檔鏈接

    • 將uniapp前端項目打包生成的資源替換到app -- src -- main -- assets -- app 中

    • 修改app -- src -- main -- assets -- data -- dcloud_control.xml中的appid

最后

  1. 寫了半天,還是沒有說怎么調用jar包。原生安卓項目怎么用jar就怎么用。

  2. 運行項目進行測試吧


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM