首頁 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當(dāng)貝市場

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計(jì)算器

綜合交流 / 評測 / 活動區(qū)

交流區(qū) | 測硬件 | 網(wǎng)站活動 | Z幣中心

新手入門 / 進(jìn)階 / 社區(qū)互助

新手 | 你問我答 | 免費(fèi)刷機(jī)救磚 | ROM固件

查看: 11559|回復(fù): 0
上一主題 下一主題
[教程]

#APKBUS#說說關(guān)機(jī)的那些事(一)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2013-8-28 16:28 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
8   前兩天本人的妹妹qq空間留言說讓我做一個定時關(guān)機(jī)的應(yīng)用給她用,同時又有同班的女童鞋留言回復(fù)說也想要一個,頓時我斗志十足??!于是我去論壇百度了一下。。。   
   直接說結(jié)果吧!   
   目前有兩種解決辦法實(shí)現(xiàn)關(guān)機(jī)功能:   
先說第一種,感覺第一種是最簡單實(shí)現(xiàn)的,調(diào)用系統(tǒng)隱藏的API!   
                                                                  
   
                                                                  Intent intent =  Intent(Intent.ACTION_REQUEST_SHUTDOWN);
                                                                  intent.putExtra(Intent.EXTRA_KEY_CONFIRM, );
                                                                  intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                                                                  startActivity(intent);
   
就是這么幾句話了,但是實(shí)際寫一下就會發(fā)現(xiàn),貌似沒有這個權(quán)限~!這就是隱藏的權(quán)限啦!   
那么怎么使用隱藏API呢?   
使用源碼編譯時生成的全編譯的jar包c(diǎn)lasses.jar
   
    編譯Android框架源碼后,在源碼路徑下會生成out文件夾,在這個文件夾下的out"target"common"obj"JAVA_LIBRARIES"framework_intermediates"路徑下,會生成全編譯的jar庫classes.jar。你需要做的就是將這個jar庫導(dǎo)入到你的工程中。記住要把這個庫放在前面?。?!   
   
你以為這樣就可以了?   
   
你錯了,這才是第一步,關(guān)機(jī)還需要一個權(quán)限聲明:   
但是加上了這個權(quán)限只后就會報錯,說你不是系統(tǒng)軟件,不可以有這個權(quán)限?。?!好吧!讓我扮演一下系統(tǒng)軟件吧?。檐浖嵘龣?quán)限)   
   
   
<manifestxmlns:android="http://schemas.android.com/apk/res/android"   
  ……android:sharedUserId="android.uid.system"   
……>   
這樣就OK了!   
下面就剩下最后一步了,什么?你以為這樣就可以了?這樣是不可以直接安裝調(diào)試,會報出簽名錯誤!   
   
   
   
雖然不能運(yùn)行,但是可以生成APK,先生成APK,待用。。。   
得到生成的APK之后用壓縮軟件解壓,把META-INF目錄中的CERT.SF、CERT.RSA 兩個文件刪除。使用android自帶的簽名工具signapk.jar 以及源碼中的platform.x509.pem,platform.pk8 對apk進(jìn)行重新簽名。在cmd下   
   執(zhí)行:java -jar signapk.jar  platform.x509.pem platform.pk8 old.apk new.apk 執(zhí)行后new.apk即為簽名后的文件。   
   (注:執(zhí)行命令時所有文件這里放在同一目錄下,如果不在同一目錄請修改路徑)。   
  文件platform.x509.pem和platform.pk8我們可以在源碼的 build/target/product/security中找到。signapk.jar 可以編譯build/tools/signapk/ 得到。   
   
然后就可以了?。?!   
但是不要高興的太早,這樣生成的APK只能適用某些系統(tǒng)(與 你是用的相應(yīng)系統(tǒng)的platform.x509.pem和platform.pk8 文件有關(guān) )我用安卓原生系統(tǒng)的platform.x509.pem和platform.pk8 文件生成APK,在小米上就不好使。ok,第一種方法就先說到這吧!(以上內(nèi)容均來自百度,本人只是稍作總結(jié),本人才大三,也是第一次發(fā)帖,各位多捧場!)   
   
   
   
   
   

上一篇:第26講:Android中的GPS應(yīng)用入門.docx
下一篇:滑動效果的標(biāo)題欄
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

Archiver|新帖|標(biāo)簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號 )

網(wǎng)絡(luò)信息服務(wù)信用承諾書 | 增值電信業(yè)務(wù)經(jīng)營許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號

GMT+8, 2025-1-29 02:47 , Processed in 0.054809 second(s), 13 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報:report#znds.com (請將#替換為@)

© 2007-2025 ZNDS.Com

快速回復(fù) 返回頂部 返回列表