【黑馬程序員】鴻蒙Next星河版項目實戰-守護助手APP應用開發-Day2-13-受限開放權限-生成簽名證書

黑马程序员
28 位粉絲
6 觀看·2024年9月23日
本課程100% 鴻蒙NEXT星河版原生應用開發,API 12 版本 SDK。基本覆蓋主流APP的能力集,將來遷移項目都可以看這個項目,權限、位置、地圖、錄音、相冊、播放器、傳感器、通訊錄、數據庫等應有盡有。
在前面的時候我們已經把這個封裝算是完成了
當然在封裝的時候
其實我們在最終做這個叫做授權管理這個頁面的時候
其實還差兩個權限
還差哪一個呢
一個是那個叫做通訊錄
通訊錄我們其實還沒有
所以大家也調不動
還有一個是那個叫做照片
這個照片其實也還沒有
那這兩個權限爲什麼我們前面不一塊都給他寫了呢
主要是這兩個權限是屬於那個跨級別的
就是他並不是這個normal
他並不是對所有應用開放的
如果要上線的話
那麼這一些權限呢
他還得專門去發郵件
由華爲那邊通過了之後
那麼我們纔可以去正常的上線
否則的話
我們只能在編輯器裏面和模擬器裏面去跑一下
就如果真正要上線的話還得發郵件
那當然現在呢
我們還沒有到上線的這個階段
那我們在開發階段呢
可以通過編輯器快速幫我們簽名
讓他能讓他能讓我們在編寫的時候呢
也能正常調用這些權限
好
接下來呢
我們先說一下這個叫做跨級別申請權限
這一張這一張的內容呢
大家應該沒有看文檔的
這個應該看不了啊
好
那我就給大家去簡單的漏一眼啊
不過大部分的一些重要內容呢
在我的筆記裏面其實也有了啊
這裏呢
是叫做受限開放的權限啊
這個呢
在華爲鴻蒙裏面其實是有了啊
像什麼呢
比如說讀寫這個公共部落裏面的音頻文件
哎
這個呢
就是我們的這個叫做相冊了啊
如果你要訪問啊
相冊裏面的圖片和視頻啊
去實現某一些業務啊
那麼這個呢
哎
我們看到沒
他的級別就爲這個叫做System Based
他就不再是Normal了啊
他就不再是Normal了
好
那
一般來說啊
級別爲System Based的
哎
其實啊
這個ACL性能啊
也是爲這個
就表示啊
你可以通過啊
郵件或者說什麼的方式
是吧
去申請通過這個權限
好
那除了這個叫做圖庫的一個讀寫之外呢
哎
再往後面呢
是不是還有這個叫做聯繫人呢
對吧
這一個聯繫人呢
也在我們的業務中會涉及到啊
那一看也是出現在受限的這個權限裏面啊
好的
受限權限呢
還有啊
好
是這一邊呢
受限的權限呢
還有好幾個啊
不過不多
不多
大部分呢
其實還是什麼
大部分權限
是不是還是對所有應用都開放的呀
對吧
會有小部分啊
涉及到比較隱私的一些東西啊
OK
好
那他是需要啊
專門去申請的啊
那申請的時候呢
啊
我們這裏啊
嗯
最終上線之前是需要去那個叫做AGC平臺去進行一個申請啊
那啊
在發佈的時候呢
需要在這個叫做應用市場啊
就是AGC啊
那個平臺去申請那個對的一些證書
不過呢
我們還沒到那一步啊
那我們在這裏呢
直接通過快速簽名去生成那些叫做證書文件就好了啊
好
編輯器他是支持快速生成這些證書文件
呃
那怎麼去做呢
好
我們接下來呢
如果沒做這個步驟
那又會怎麼樣呢
我們接下來一步會試一下
呃
我先滾動到底部這裏
我把照片和通訊錄的這兩個權限給他
Control C
然後呢
Control V去加一下
呃
加到哪裏呢
是不是在
Main
Module
J3
5
這裏呢
是不是已經加了好多好多了呀
是吧啊
呃
在剛剛練習的時候呢
也發現有同學呢
沒有去把這個Camera加上去
沒有Camera加上去
那你調用的時候是調不到那個檢測權限的啊
你也沒法換起那個彈窗
所以自己檢查一下
我們要用到權限的第一步應該是先想先寫那個
配置啊
先寫配置啊
這一步其實也是特別容易遺忘的啊
好
那麼接下來呢
這裏啊再給大家弄一個分割線啊
前面是user granted的
這裏其實是什麼呢
是這個叫做
System Base
就是級別爲System Base
不是Normal啊
System Base
加這個吧
前面是Normal加這個啊
後面呢
是這個System Base加這個
好
我給他隔一下吧
好
一個是通訊錄啊
當然這邊的是一組的啊
是獨核寫啊
然後呢
下面這個也是獨核寫
而至於這裏面的一些內容呢
這個原因是我前面配置的時候
好像都已經統一寫過了
對不對
好
那我們直接加上這個權限
加完了之後呢
我們像往常一樣
如果沒有像往常一樣點一下這個叫做同步
對吧
但是啊
但是在這裏呢
如果你還去編譯這個應用
你會發現這些叫做System Base的呢
權限你一加這裏直接報錯
看到沒
我想編譯是不是都編譯不起來了呀
對吧
因爲這一些權限剛剛啊
我們看門檔的時候
是不是他已經明確說了
這些叫做受限開放的權限
對不對
那他是受限的啊
好
那我們受限的這些哎
這這怎麼辦呢
啊
這些受限的怎麼辦呢
好
受限的這些權限需要需要什麼呢
需要簽名證書啊
好
有了簽名證書呢
我們才能正常去調用啊
開發階段
可通過什麼
可通過這個叫dev echo studio
快速生成簽名證書
好啊
上線項目上線
需要到這個什麼呢
叫做應用市場
也就是官方的那邊叫做AGC平臺啊
這個後面AGC平臺的這個生成呢
我們在後面的時候用到地圖的時候
我們再去給大家講啊
那現在呢
我們在開發階段先通過編輯器快速生成簽名證書
那怎麼快速生成這個簽名證書呢
好
大家這裏怎麼快速生成簽名證書呢
哎
這裏大家看這一邊有一個小圖標
對吧
叫做項目結構啊
好
我們點一下小圖標
點完小圖標之後呢
哎
這裏啊
我們點擊第三項
大家之前有沒有點過這一個東西
還沒有是吧
啊
那麼現在呢
大家就給他點一下
哎
我這裏怎麼出現了
這邊滿了嗎
簽名證書
我還得把之前的廢棄掉
稍等
好
這一邊啊
數量好像還有限制啊
好
我重新操作一下
好的
那正常來說
大家點擊這個第三項
然後呢
把這兩個勾同時都給他勾選上兩個
那麼尤其是第二個
第二個呢
automatic
這個automatically
是不是就是叫做自動的意思
auto是不是就自動的意思呀
對吧
這個generator啊
就是叫做生成
自動生成
後面的這個單詞呢
就是叫做簽名啊
那麼當我們點擊這個之後呢
大家會發現
哎
這裏的表單
大家就不用填了啊
如果沒點這個的時候呢
默認情況下啊
默認情況下
這裏呢
應該都是一些空白的
那當我們點完這個之後呢
大家會發現
這裏的表單會自動幫我們填充
填充完了之後呢
這裏啊
還給我們找生成了一大堆的
這些叫做證書文件
比如說什麼p12
這個文件呀
這個密碼啊
都是自動生成的
這些全部都是他自動給我們簽上的啊
就自動的啊
好
那我們這裏呢
直接點一下就好了啊
那這些證書文件呢
他自動生成成功之後呢
我們這裏可以直接點擊一下
這個叫做OK啊
當然這裏呢
有同學可能會出現一些罷措
那我也說一下
大家有可能出現的罷措
我這裏呢
也進行了一些整理
有同學呢
尤其是Windows系統
總會有同學呢
這個系統的時間是對不上的啊
比如說我們現在是55分啊
可能有同學那邊的是54分
或者說58分多少的啊
就會出現系統時間對不上
系統時間對不上呢
那就去那個設置頁裏面
把這個系統的時間給他進行一個同步啊
這邊呢
華爲那邊啊
他是要對一下這個時間啊
如果出現差別比較大
他就是不行的啊
那對Mac來說啊
也有可能會出現簽名失敗的一個情況
簽名失敗呢
把默認生成的這些證書文件把它刪除掉啊
這裏呢
這個這個文件夾在哪裏呢
就是這些證書文件啊
嗯
比如說我給他簡單去漏一樣啊
大家那邊也是一樣啊
可以通過複製這裏的路徑
然後去打開看到沒
這些是不是都是他自動幫我們生成的一大堆的證書文件啊
對吧
如果生成一次啊
應該給你生成了四個啊
好他是一組一組的啊
這樣子四個啊
好我這裏啊
之前生成的一些還保留着啊
所以這邊看着會可能會比較多啊
好
那正常來說
我們生成了證書之後啊
我們再點擊編譯啊
那麼現在呢
纔算是沒有問題啊
哎
這個好像還抱了一個錯誤是吧
但是這個錯誤呢
跟前面已經是不一樣了啊
他說我們的簽名證書已經發生了改變
然後呢
這裏他提示是叫做
你應該需要
哎
對了
uninstall前面的時候我們ohpm是不是講過
install啊
叫做安裝uninstall是不是就是卸載啊
對吧
我們把舊的應用給他
現在點一下
他能自動幫我們卸載掉再重裝
好那現在呢
再重裝大家發現哎
這裏呢
是不是可以正常的通過簽名
是不是打開我們的應用了呀
對吧
沒簽名這個應用呢
哎
因爲你一加這些權限
他直接就崩潰是吧
他就編譯不出來了啊
好
那我們現在呢
通過這個簽名證書啊
大家發現哎
這一些權限
那我們也都能正常的編譯過來
但我們可以做再做一個測試
對不對啊
好
那比如說我們在剛剛的時候呢
而是寫了一個叫做
寫了什麼呀
寫了這個通訊錄是吧
通訊錄啊
我們寫一組吧
通訊錄是叫做
他讀和寫
是吧
通訊錄OK
好
整個軟子
通訊錄再去檢測通訊錄
那我們再去試着檢測一下這個通訊錄
看他還行不行啊
好
那我們這一邊呢
哎調用一下這個這個叫做通訊錄的權限申請
看到沒
這裏大家發現是不是能成功調用起來通訊錄的這個談創啊
對吧
如果前面沒配好
或者是忘記了去進行配置
那麼這個談創絕對不會出現
只有你正常的配置完簽名完
然後呢
才能談出這個叫做通訊錄的權限申請啊
好那如果點擊允許的話
那麼我們再去設置
這裏是不是能看到這個通訊錄了呀
對不對
好的那我們再理一下這個步驟
對於這些叫做跨級別申請的呢
他是屬於對我們普通應用受限的啊
那這個受限在我們開發的時候怎麼辦呢
對不對怎麼辦呢
哎是不是就加一個叫做簽名證書就好了呀
對吧
怎麼簽名呢
哎這裏的步驟其實並不複雜啊
點一下這個小圖標啊
叫項目結構項目結構裏面呢
我們選擇第三項把兩個勾是不是勾上就好了呀
對吧那勾上了之後呢
第一次需要自動生產
後面的這些呢
其實可以就直接讀取本地已經生產過的證書文件就好了啊
好那我們簽名了之後呢
再重新編譯就好了步驟呢
不要忘記了這個摸丟這生活啊
很多同學會把第一步給他忘了啊
這一步是我們的開始啊
你纔去進行簽名纔去進行編譯
好那現在呢
時間交給大家
大家把這些叫做受限的這些權限都一併給他加一下吧
