99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

開發(fā)system權(quán)限的App并內(nèi)置到Android系統(tǒng)的步驟

哆啦安全 ? 來(lái)源:卓碼星球 ? 2023-08-18 10:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.內(nèi)置App到手機(jī)系統(tǒng)

以下以內(nèi)置搜狗輸入法為例說(shuō)明

1.1 源碼中創(chuàng)建存放Apk目錄

在源碼目錄packages下面創(chuàng)建mypackages/sougou目錄用來(lái)保存搜狗輸入法的apk文件。創(chuàng)建好之后如下所示:

qiang@ubuntu:~/lineageOs/packages/myapps/sougou$pwd
/home/qiang/lineageOs/packages/myapps/sougou
qiang@ubuntu:~/lineageOs/packages/myapps/sougou$
qiang@ubuntu:~/lineageOs/packages/myapps/sougou$

存放目錄創(chuàng)建好之后,將搜狗輸入法的apk放到sougou目錄下。如下所示:

qiang@ubuntu:~/lineageOs/packages/myapps/sougou$ls-lasougou.apk
-rwxrwxrwx1qiangqiang5987027211月307:35sougou.apk
qiang@ubuntu:~/lineageOs/packages/myapps/sougou$

1.2 創(chuàng)建模塊編譯文件Android.mk

在目錄"packages/myapps/sougou"中創(chuàng)建sougou輸入法模塊的編譯配置文件Android.mk。內(nèi)容如下:

#///ADDSTART
#///ADDEND
#設(shè)置當(dāng)前工作路徑
LOCAL_PATH:=$(callmy-dir)

#清除變量值
include$(CLEAR_VARS)
#生成的模塊名稱
LOCAL_MODULE:=sougou

#生成的模塊類型
LOCAL_MODULE_CLASS:=APPS
#生成的模塊后綴名,此處為apk
LOCAL_MODULE_SUFFIX:=$(COMMON_ANDROID_PACKAGE_SUFFIX)
#設(shè)置模塊tag,tags取值可以為:userdebugengtestsoptional
#optional表示全平臺(tái)編譯
LOCAL_MODULE_TAGS:=optional

#LOCAL_PRIVILEGED_MODULE:=true

LOCAL_BUILT_MODULE_STEM:=package.apk

#設(shè)置源文件
LOCAL_SRC_FILES:=$(LOCAL_MODULE).apk

#LOCAL_CERTIFICATE:=platform
#設(shè)置簽名,此處表示保持apk原有簽名
LOCAL_CERTIFICATE:=PRESIGNED
#此處表示預(yù)編譯方式
include$(BUILD_PREBUILT)

模塊編譯文件創(chuàng)建好之后的目錄情況如下:

qiang@ubuntu:~/lineageOs/packages/myapps/sougou$ls
Android.mksougou.apk
qiang@ubuntu:~/lineageOs/packages/myapps/sougou$
qiang@ubuntu:~/lineageOs/packages/myapps/sougou$
qiang@ubuntu:~/lineageOs/packages/myapps/sougou$

1.3 將模塊加入源碼編譯鏈

在安卓系統(tǒng)中,App模塊加入編譯鏈可以放到如下文件中:

build	argetproducthandheld_product.mk

將"sougou"模塊加入之后的內(nèi)容如下:

...
#/productpackages
PRODUCT_PACKAGES+=
...
sougou
...

以上修改完成之后編譯系統(tǒng)刷機(jī)就可以看到系統(tǒng)內(nèi)置"搜狗輸入法"到手機(jī)系統(tǒng)了。

說(shuō)明:

1.如果內(nèi)置的為可執(zhí)行程序,一般將模塊編譯鏈放到路徑"buildmake	argetproductase_system.mk"

2.如果內(nèi)置的為App程序,一般將模塊編譯鏈加入到路徑"build	argetproducthandheld_product.mk"

2.安卓中開發(fā)具有System權(quán)限的App

2.1 開發(fā)System權(quán)限的App流程

在這里使用Android Studio工具創(chuàng)建一個(gè)App工程,比如"FridaControl"。如果想要自己開發(fā)的App內(nèi)置到手機(jī)系統(tǒng)具有system權(quán)限,需要在開發(fā)App階段在AndroidManifest.xml中添加"android:sharedUserId="android.uid.system""屬性配置。完整配置的參考如下:

















2.2 內(nèi)置編譯好的apk到手機(jī)系統(tǒng)

內(nèi)置過程和內(nèi)置搜狗輸入法的操作流程一樣。差異在于Android.mk的時(shí)候需要注意一下內(nèi)容,需要將"LOCAL_CERTIFICATE := platform"加上,表示使用系統(tǒng)簽名。

如果不加這句話就算AndroidManifest.xml加入了system權(quán)限配置,但是也不會(huì)生效。

完整Android.mk參考如下:

LOCAL_PATH:=$(callmy-dir)

include$(CLEAR_VARS)

LOCAL_MODULE:=ControlFrida

LOCAL_MODULE_CLASS:=APPS

LOCAL_MODULE_SUFFIX:=$(COMMON_ANDROID_PACKAGE_SUFFIX)

LOCAL_MODULE_TAGS:=optional

#關(guān)閉dex優(yōu)化,生成獨(dú)立的apk
LOCAL_DEX_PREOPT:=false

LOCAL_BUILT_MODULE_STEM:=package.apk

#設(shè)置源文件
LOCAL_SRC_FILES:=$(LOCAL_MODULE).apk

#這個(gè)地方比較重要
#設(shè)置簽名,此處表示使用系統(tǒng)簽名
LOCAL_CERTIFICATE:=platform

#此處表示預(yù)編譯方式
include$(BUILD_PREBUILT)

3.編譯測(cè)試驗(yàn)證

以上配置好之后編譯刷機(jī)。

以下是我內(nèi)置的一個(gè)App具有system權(quán)限的驗(yàn)證展示如下:

C:UsersQiang>adbshellps-Z|findstr"com.android.studycontrolfridaserver"
usystem_app:s0system7523918512822878040SyS_epoll_wait74b9ab7248Scom.android.studycontrolfridaserver

C:UsersQiang>
C:UsersQiang>

以上可以看到運(yùn)行的Appselinux域?yàn)?strong>usystem_app:s0,并且app的運(yùn)行用戶為system。所以該App具備了system權(quán)限。







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Android系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    13810
  • SRC
    SRC
    +關(guān)注

    關(guān)注

    0

    文章

    62

    瀏覽量

    18396
  • apk
    apk
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    5265

原文標(biāo)題:開發(fā)system權(quán)限的App并內(nèi)置到Android系統(tǒng)

文章出處:【微信號(hào):哆啦安全,微信公眾號(hào):哆啦安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Android系統(tǒng)與應(yīng)用開發(fā)內(nèi)容介紹

    、配置網(wǎng)絡(luò),使用內(nèi)置瀏覽器上網(wǎng) 第七階段 4 基于Android平臺(tái)的應(yīng)用程序開發(fā)目標(biāo):熟悉Android的應(yīng)用程序框架,在構(gòu)建好的Android
    發(fā)表于 07-13 14:03

    Android系統(tǒng)文件權(quán)限解釋

    眾所周知,安卓是基于linux開發(fā)的,因此想要了解android系統(tǒng)文件的權(quán)限,需要從Linux說(shuō)起?! inux系統(tǒng)
    發(fā)表于 07-10 15:10

    AM335X開發(fā)Android 應(yīng)用程序獲得system權(quán)限的方法

    app工程添加Android.mk文件,其中的LOCAL_CERTIFICATE要賦值為platform,即用系統(tǒng)的簽名,通過這種方式只能使應(yīng)用程序的權(quán)限升級(jí)
    發(fā)表于 05-20 17:55

    i.MX6Q開發(fā)Android APP簽名安裝問題的解決方法

    :Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE這是因?yàn)?b class='flag-5'>APP的源碼中的AndroidManifest.xml文件中設(shè)置了system
    發(fā)表于 10-25 16:37

    基于SnapDragonBoard410c內(nèi)置文佳System

    前段時(shí)間項(xiàng)目上需要我們內(nèi)置文件System/文件夾下,所以本次我和大家分享一下如何在Android源碼中內(nèi)置文件。 (1)我們先去高通網(wǎng)站
    發(fā)表于 09-25 16:51

    Android 系統(tǒng)添加SELinux權(quán)限

    CPU:RK3288系統(tǒng)Android 5.1SELinux 主要由美國(guó)國(guó)家安全局開發(fā)。2.6 及以上版本的 Linux 內(nèi)核都已經(jīng)集成了 SELinux 模塊。通過虛擬文件系統(tǒng) p
    發(fā)表于 02-09 22:49

    iMX6 Android系統(tǒng)下常見問題解決思路

    以下設(shè)置system權(quán)限的方法試一試??梢钥匆幌耬clipse中調(diào)試信息如下:Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE這是因?yàn)?b class='flag-5'>APP的源碼中的
    發(fā)表于 02-21 08:59

    請(qǐng)教大神有些APP是怎樣去獲取root權(quán)限的呢

    請(qǐng)教大神有些APP是怎樣去獲取root權(quán)限的呢?Android8.1系統(tǒng)是如何定制賦予用戶root權(quán)限的?
    發(fā)表于 02-14 07:17

    如何去實(shí)現(xiàn)Android 8.1默認(rèn)給APP獲取自動(dòng)權(quán)限

    如何去實(shí)現(xiàn)Android 8.1默認(rèn)給APP獲取自動(dòng)權(quán)限呢?求大神解答
    發(fā)表于 02-15 07:14

    iMX6常見 Android系統(tǒng)問題

    Android應(yīng)用后,安裝不到iMX6開發(fā)板上,可以通過以下設(shè)置system權(quán)限的方法試一試。 可以看一下eclipse中調(diào)試信息如下: Installation error
    發(fā)表于 08-29 10:32

    Android系統(tǒng)權(quán)限提升攻擊檢測(cè)技術(shù)_王聰

    Android系統(tǒng)權(quán)限提升攻擊檢測(cè)技術(shù)_王聰
    發(fā)表于 03-19 11:41 ?0次下載

    Android 開發(fā)環(huán)境搭建步驟詳細(xì)圖解

    Android 開發(fā)環(huán)境搭建步驟詳細(xì)圖解
    發(fā)表于 10-24 08:49 ?11次下載
    <b class='flag-5'>Android</b> <b class='flag-5'>開發(fā)</b>環(huán)境搭建<b class='flag-5'>步驟</b>詳細(xì)圖解

    Android開發(fā)APP應(yīng)該如何省電

    AndroidManifest.xml中加上DEVICE_POWER的權(quán)限。可是加了權(quán)限之后,ADT又提示錯(cuò)誤“Permission is only granted to system
    發(fā)表于 07-30 17:35 ?0次下載
    <b class='flag-5'>Android</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>APP</b>應(yīng)該如何省電

    鴻蒙APP開發(fā)鴻蒙權(quán)限請(qǐng)求框架

    /posts/5165 權(quán)限控制是在進(jìn)行 HarmonyOS 應(yīng)用開發(fā)中非常重要的一個(gè)環(huán)節(jié),幾乎所有的商業(yè)應(yīng)用中都會(huì)涉及。 我們?cè)谠?jīng)使用的 Android
    的頭像 發(fā)表于 09-28 09:19 ?3482次閱讀

    Android掛載system文件夾讀寫權(quán)限

    Android系統(tǒng)中,system文件夾一般都是只讀屬性,無(wú)論是root用戶還是普通權(quán)限用戶,在Android安全研究或
    的頭像 發(fā)表于 08-08 09:36 ?1.6w次閱讀
    <b class='flag-5'>Android</b>掛載<b class='flag-5'>system</b>文件夾讀寫<b class='flag-5'>權(quán)限</b>