Android apk 擷取系統許可權的方式

來源:互聯網
上載者:User

Android apk 擷取系統許可權的方式

Android系統中,許可權等級分為

["normal" | "dangerous"| "signature" | "signatureOrSystem"]

normal 、dangerous是一般apk都在Mainifest中聲明即可擷取的

signature必須要有系統層級的簽名才能夠擷取到

signatureOrSystem 有系統層級簽名或者有系統許可權

以SET_PREFERRED_APPLICATIONS為例

使用signapk為APK簽名

addPreferredActivity需要許可權 android.permission.SET_PREFERRED_APPLICATIONS(許可權等級為【signature】)

使用該許可權需要signapk進行簽名,所需要的工具

源碼包中

1)..\out\host\linux-x86\framework\signapk.jar

2)..\build\target\product\security\platform.pk8

3)..\build\target\product\security\platform.x509.pk8

將以上3個檔案以及需要簽名的APK放到同一個目錄中

cmd -> java -jar signapk.jarplatform.x509.pem platform.pk8 LauncherDemo.apk Launcher_sign.apk

該許可權以需要具有系統許可權的應用,所以需要使用源碼編譯該應用

完成後可使用普通install方法安裝應用,並可使用zipalign對APK進行最佳化

zipalign目錄 android-sdk\tools\zipalign.exe

l 最佳化對齊APK

cmd ->zipalign -v 4 old.apk new.apk

l 驗證對齊

cmd ->zipalign -c -v 4 new.apk

以上最張輸出 Verification succesful 則表示最佳化對齊成功

源碼編譯APK共用系統UID

這種方法無需聲明許可權SET_PREFERRED_APPLICATIONS

1)在Mainfest檔案中增加

android:sharedUserId="android.uid.system"

2)Android.mk檔案中增加

LOCAL_CERTIFICATE := platform

編譯完成後,使用push方式安裝應用

Android.mk:

#Copyright 2007-2008 The Android Open Source ProjectLOCAL_PATH:=$(call my-dir)include$(CLEAR_VARS)LOCAL_SRC_FILES:= $(call all-java-files-under, src)LOCAL_PACKAGE_NAME:= LauncherDemoLOCAL_CERTIFICATE:= platforminclude$(BUILD_PACKAGE)# Use thefolloing include to make our test apk.include$(call all-makefiles-under,$(LOCAL_PATH))


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.