1. 程式人生 > 實用技巧 >h5+ android離線打包從官網例子舉一反三

h5+ android離線打包從官網例子舉一反三

前文:

h5+離線打包,官網只是提供了個例子,如果直接拿來用確實是沒有問題,但是在實際使用中也有一些注意和可以改進的地方,下面自己做一下記錄吧,我看百度上,基本沒有人講,這裡自己做個記錄。

正文:

注意點

一、h5+android離線包下下來之後,有兩個工程Hbuilder-Hello和Hbuilder-Integrate-AS,一般我們需要用到Hbuilder-Integrate-AS,Hbuilder-Hello可以忽略。它們的區別就在於Hello僅僅是個演示工程,而Integrate集成了外掛功能(NJS)可以整合自定義功能(不然我們離線打包乾嘛,我們直接用雲打包不就好了,就是因為雲打包不能滿足專案需要,我們才不得已去離線打包,自己去支援功能,所以選擇Hbuilder-Integrate-AS)

二、那麼接下來,正常我們都是按照官方文件說的進行處理,就可以離線打包。但是當你看一下它們原始碼你就知道其實他們主要用的是

PandoraEntry 和
PandoraEntryActivity

那麼既然這樣那就根本不需要例子提供的SDK_WebApp,比如你想需要建一個activity去做自己的操作(比如你需要去申請許可權),那麼你建一個MainActivity 去extends

PandoraEntry

然後就可以了,而在配置檔案裡面只需要保留permission和兩個Activity,一個provider,步驟如圖所示:

1、provider塗抹部分換成你自己專案包名

provider

2、自己建的activity,可能自己的一些操作,塗抹部分換成你自己的activity,注意自己構建的activity必須extends

PandoraEntry

mainActivity

3、固定需要的Activity

如果不需要你專案業務的話,甚至你自己的activity都不需要直接把PandoraEntry做啟動Activity就可以了,然後就可以啟動專案,直接忽略SDK_WebApp

三、現在專案就比較簡潔的啟起來了,但是有個問題,我要把我整合的功能加上去,不然我光能啟起來有毛用。這裡他們提供了PGPlugintest類,具體原理參考:https://ask.dcloud.net.cn/article/88

那麼我們怎麼能在我們的主執行緒做一些功能追加操作呢,如下圖,我們可以通過PGPlugintest官方提供的函式中的引數

IWebview pWebview

通過pWebview.getActivity()獲取當前activity然後更新UI執行緒,在這裡面可以做自己想要的事情,比如想要把自己整合的功能加上去

四、以上就是整個過程,一個是更好的啟動app,一個是把自己想要整合的功能整合上去,這兩塊就補全了。那麼一個體驗比較好的使用者app就完成了,完結撒花。