1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          Android 系統簽名實現的三種方式

          來源:互聯網轉載 時間:2024-01-29 07:57:20

          在項目開發時,如果需要使應用具有系統權限,例如可以支持靜默安裝和卸載APK,此時就需要使用系統簽名。 常用的系統簽名方式包括在ubuntu環境下、手動簽名和在AndroidStudio環境配置,三種方式中,實現最簡單的是通過AndroidStudo方式,該方式的簽名實現與正常的APK簽名相同,唯一不同的就是簽名文件是通過系統生成的。 注意,無論采用何種簽名方式,如果想實現具有系統權限的應用,在APK生成時,都需要在AndroidManifest.xml中配置android:sharedUserId=“android.uid.system”,如下所示

          <manifest  xmlns:andro            package="com.xxxx.xxxx"           android:sharedUserId="android.uid.system"></manifest>

          1. ubuntu環境編譯

          該方式需要在安卓源碼編譯的環境下,在將APK打包至安卓系統升級包時,需要配置Android.mk文件,通過在配置LOCAL_CERTIFICATE 參數時,將其設置為PRESIGNED,如果需要改APK具有系統權限,使用系統簽名,則需要設置為platform

          LOCAL_CERTIFICATE := platform 或 shared 或 media

          在設置好 Android.mk 文件后,在ubuntu環境下執行系統的編譯流程。 如果之前在ubuntu環境下已經執行好了系統的編譯流程,則可以直接cd到系統的package/apps目錄下,進入到需要編譯的APK文件目錄下執行mm指令,或在其他目錄執行mmm /package/apps/APK所在的文件夾名稱。

          2.手動簽名

          手動系統簽名與Android的APK重簽名不同,重簽名是之前APK已經簽名完成,在實際使用時,需要更改簽名文件,例如一些特殊的算法處理對于系統的包名和簽名都有綁定操作,如更換則無法使用。 手動系統簽名是對于通過AndroidStudio的build生成的無簽名的APK文件,進行手動系統簽名操作。具體執行過程如下。

          2.1 下載SignApk.jar

          首先下載SignApk.jar包,如下圖所示

          如果本地有安卓系統的源碼,可以直接在本地的buildtoolssignapk目錄下查找到該jar包。

          2.2 查找security文件

          拿到系統定制廠商提供的security文件,不同編譯下生成的security文件內容不同,需針對該安卓系統下的編譯生成的security文件,因此這也限定了該系統簽名后的應用只能在該系統下運行,在其他系統下運行就不具有系統權限。 在security文件中找到media.pk8和platform.x509.pem兩個文件。

          2.3 執行系統簽名操作

          將2.1中的SignApk.jar和2.2中的media.pk8和platform.x509.pem文件一起復制到包含需要簽名的APK文件夾中,然后執行如下語句

          java -jar signapk.jar  platform.x509.pem platform.pk8 old.apk new.apk

          生成的new.apk文件就是系統簽名后APK文件。 該方式的操作,可參考安卓簽名工具SignApk.jar使用教程,其已將簽名的流程制作成Window下的.exe工具,只需一次配置,每次點擊更換需要簽名的文件即可。

          3 AndroidStudio方式

          通常對于APK的簽名文件是通過AndroidStudio的New Key Store方式自定義實現,但是如果需要使用系統簽名文件需要結合security文件中的media.pk8和platform.x509.pem兩個文件,通過keytool-importkeypair實現,下載成功后,將media.pk8和platform.x509.pem兩個文件放置在包含 keytool-importkeypair目前下,執行以下語句。

          ./keytool-importkeypair -k ./platform.keystore -p android -pk8 platform.pk8 -cert platform.x509.pem -alias platform

          需要注意的是:

          • 該語句的執行是在ubuntu環境下執行的
          • platform.keystore為系統簽名文件
          • android為簽名密碼
          • platform為簽名的別名(alias)

          生成系統簽名后,在AndroidStudio中配置Signing簽名信息,配置成功后在modle的buid.gradle中可以查看如下配置信息。

          signingConfigs {    releaseConfig {        keyAlias 'platform'        keyPassword 'android'        storeFile file('.........platform.keystore')//簽名文件路徑        storePassword 'android'    }}

          4.總結

          從以上的分析中可以看出,無論三種那種方式的實現,都離不開系統源碼中的security目錄下的media.pk8和platform.x509.pem兩個文件,該兩個文件是保證應用具有系統簽名的前提,如果使用其他系統的文件,則在該系統中,無法具有系統權限。 對比以上方法,分為具有ubuntu和沒有兩種環境下。

          • 具有ubuntu的編譯環境:則使用第一種比較簡單,第三種生成的系統簽名文件,可用于其他APK的簽名使用,在AndroidStudio中配置后,方便調試使用,不必每次都執行命令行來生成簽名后的APK文件。
          • 不具有ubuntu的編譯環境:該方式只能通過第二種方式實現,且每次調試使用時都需要替換APK生成新的系統簽名后的APK,操作比較繁瑣。當然在2.3中也提到,可借助其他同學制作的小工具方便簽名文件的使用。

          參考 安卓簽名工具SignApk.jar使用教程 讓Android Studio支持系統簽名 keytool-importkeypair 使用

          151954.html原文鏈接:https://javaforall.c

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          北京最大的花鳥魚蟲市場?1.官園魚市,位于阜成門立交橋東北角,距離約200米。15路和19路公交車在馬尾溝站下車。主要經營熱帶魚,水生植物和金魚。2.潘家園花鳥魚蟲市場,原位于潘家園華盛天橋民俗文化東側,五一期間從潘家園遷至何世禮橋東南。3.富利特觀賞魚俱樂部位于馬甸橋東100米富利特商業街。有六七個熱帶魚商販,四個海魚商販,一個錦鯉商販,三個設備商販。4.團結湖天宇觀賞魚市場位于團結湖公園東側的...

          世界十大名表排名?在這個手表“橫行”的時代,全球排名前十的手表分別是:百達翡麗、愛彼、VacheronConstantin、伯爵、積家和Gir Breguet。全球十大頂級奢侈手表?1.豪雅2.江詩丹頓3.百達翡麗4.勞力士手表5.積家6.愛彼迎(美國短租平臺)7.寶璣8.宇舶表9 .歐米茄10.全球十大頂級奢侈手表?第十名:白質白質雖然不像某些品牌那么有名,但卻是鐘表界一個隱藏的“貴族”,其歷...

          達摩盤和數據銀行的區別?達摩盤是阿里巴巴基于營銷場景搭建的數據管理平臺,擁有消費者行為、興趣偏好、地理位置等諸多數據標簽。賣家可以通過達摩板塊實現對各類買家的分析,潛在買家可以通過達摩板塊的標簽快速圈定想要的目標人群,從而實現不同人群在各種營銷渠道中的定位,實現有針對性的精準營銷。數據庫(DBank網盤)是指建立在高速分布式存儲網絡上的數據中心。其最大的優勢在于將存儲產品轉化為存儲服務。數據庫通過...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>