Android例子源碼可以靜默批量卸載安卓非內置App的例子 源碼下載

來源:腳本之家  責任編輯:小易  

網絡上很多相關文檔可用,當然建議是看書,代碼自己手敲,有助于熟悉基本的android開發組件、步驟和代碼結構,僅僅拿來源碼貼到項目里面,印象并不深刻www.anxorj.tw防采集請勿采集本網。

源碼大。1.18MB 源碼語言:簡體中文 源碼類型:國產軟件 源碼授權:免費軟件 更新時間:2017-02-04 16:42:34 源碼類別:android 源碼官網: 未知官方 網友評分:源碼評分 應用平臺:android Android例子源碼可以靜默批量卸載安卓非內置App的例子是一個靜默卸載手機上已經安裝的app的小例子,傳統的安卓應用卸載會直接轉跳到系統的應用詳情界面點擊卸載才能一個個的卸載,本例子卸載應用的時候不需要彈出應用管理界面直接靜默卸載手機非內置應用,用戶體驗良好并且支持選擇多個app一起卸載,但是運行的時候會申請Root權限,有Root權限才能卸載。(PS.另外嘗試了一下卸載360,未果,說明并不是萬能不過卸載普通的app綽綽有余了)默認編譯版本4.2.2編碼GBK源碼有注釋

目前的方法,似乎可以把你的apk捆綁到別的apk里一起安裝進去,但是要想獨立靜默安裝,除非通過root的方式執行一些特殊命令,只通過前臺是沒戲的。

下載地址如下:

建議你還是在Ubuntu下開發吧關于debug的問題,google其實已經幫我們想好了策略了,就是將android源碼作為一個普通的java工程導入eclipse,然后就可以象調試普通的java工程一樣的debug關于編譯的

建議你還是在Ubuntu下開發吧關于debug的問題,google其實已經幫我們想好了策略了,就是將android源碼作為一個普通的java工程導入eclipse,然后就可以象調試普通的java工程一樣的debug關于編譯的

四五互聯移動下載

數組越界,到LoginActivity.java 86行找,或者發出來也行

群英網絡電信下載

舉個例子,你如果在windows上編程,用到它的系統api,這些api存在于一些dll中,這個dll就是你的開發所需的東東,類似android sdk,而這個dll之所以能跑起來,完全也是依賴windows系統的,windows系統源碼

巨牛網絡電信下載

創夢網絡電信下載

酷云中國網通下載

億恩科技電信下載

萬達網絡電信下載

徐州楓信網通下載

360集群電信下載

酷云中國電信下載

云彩網絡雙線下載

騰正科技電信下載

微子網絡電信下載

(1)在網上搜尋該問題的解決方法,且查閱Android開發文檔,沒有發現可以實現該功能的顯示API調用,網絡上很多人請教同樣的問題,但都沒有能夠實現解答;說是android為了用戶的安全,已屏蔽該實現該方法的功能,第三方法應用是無法實現靜默安裝的。(2)然后自己試圖去看看android實現普通安裝程序的源碼文件,能否找到解決的辦法,打算繞過普通安裝時的提示框,直接調用通過確認后調用的函數進行安裝;在查看android應用程序的普通安裝過程后,發現應用程序安裝過程的方法調用過程為:首先進入到com/android/packageinstaller/PackageInstallerActivity.Java這個Activity中,在這個Activity中首先檢查所欲安裝的程序是否是正確的安裝文件,以及當前系統中是否已安裝了此應用程序,提示用戶是否重復安裝,另外還獲取所欲安裝的程序所講用到的權限,然后將這些信息通過一個對話框提示給用戶,當用戶確定安裝時,啟動com.android.packageinstaller.InstallAppProgress.java這個Activity,在這個Activity中,調用android.content.pm.PackageManager.installPackage(Uri packageURI,IPackageInstallObserver observer,int flags,String installerPackageName)進行安裝應用程序,在InstallAppProgress中得到的PackageManager是通過PackageManager pm=getPackageManager()得到的,得到的對象是一個android.app.ContextImpl.ApplicationPackageManager對象,而ApplicationPackageManager對象經過封裝,ApplicationPackageManager(ContextImpl context,IPackageManager pm){mContext=context;mPM=pm;}其installPackage方法為Overridepublic void installPackage(Uri packageURI,IPackageInstallObserver observer,int flags,String installerPackageName){try {mPM.installPackage(packageURI,observer,flags,installerPackageName);} catch(RemoteException e){Should never happen!}}可見調用的installPackage方法為 IPackageManager.installPackage(packageURI,observer,flags,installerPackageName);在ContextImpl中,由IPackageManager pm=ActivityThread.getPackageManager()獲得IPackageManager實例對象;在ActivityThread.getPackageManager()方法中,static IPackageManager sPackageManager;public static IPackageManager getPackageManager(){if(sPackageManager!null){return sPackageManager;}IBinder b=ServiceManager.getService("package");sPackageManager=IPackageManager.Stub.asInterface(b);return sPackageManager;}最終得到的installPackage確實是IPackageManager.installPackage方法;因為class PackageManagerService extends IPackageManager.Stub所以IPackageManager.installPackage調用的是:PackageManagerService.java(frameworks/base/services/java/com/android/server)文件中的Called when a downloaded package installation has been confirmed by the user*/public void installPackagefinal Uri packageURI,final IPackageInstallObserver observer,final int flags){installPackage(packageURI,observer,flags,null);}(這里不明白為何IPackageManager.installPackage方法調用的是PackageManagerService.java,只是在網上的一篇文章中它給出了上面的原因,因為class PackageManagerService extends IPackageManager.Stub,我不明白,但也找不到其他的函數,通過PackageManagerService.java的源碼,可以看出它確實是進行應用程序安裝的,所以應該可以確定最終調用的方法就是PackageManagerService.installPackage(final Uri packageURI,final IPackageInstallObserver observer,final int flags))于是考慮如何得到PackageManagerService.installPackage(),考慮通過反射的方法得到installPackage(),但其中難以得到的是其參數中的IPackageInstallObserver類型,IPackageInstallObserver是由aidl文件定義的,通過aidl文件的特性,將IPackageInstallObserver.aidl文件拷到本地程序中,可以得到類IPackageInstallObserver.calss,通過它反射出installPackage()方法,但在invoke該方法時,卻無法得到IPackageInstallObserver的實例對象,IPackageInstallObserver的實例對象必須通過IPackageInstallObserver.Stub.asInterface(IBinder binder)方式得到,無法得到與其綁定的IBinder對象,因而無法執行反射出來的方法;另外PackageManagerService.installPackage()似乎是不能被第三方應用程序執行的,有權限的限制,這從下面的實例中似乎可以得到證實。(3)在程序中執行Runtime.getRuntime().exec("pm install-r"+new File(Environment.getExternalStorageDirectory(),download/Shuffle-1.6.3.apk"));進行安裝,這個命令的執行在com.android.commands.pm.Pm中,直接調用IPackageManager.installPackage(Uri.fromFile(new File(apkFilePath)),obs,installFlags,installerPackageName)方法,在此方法中,IPackageManager mPm;mPm=IPackageManager.Stub.asInterface(ServiceManager.getService("package"));且class PackageManagerService extends IPackageManager.Stub所以IPackageManager.installPackage調用的是:PackageManagerService.java(frameworks/base/services/java/com/android/server)文件中的Called when a downloaded package installation has been confirmed by the user*/public void installPackagefinal Uri packageURI,final IPackageInstallObserver observer,final int flags){installPackage(packageURI,observer,flags,null);}在此方法執行中會出現 Not granting permission android.permission.DELETE_PACKAGES錯誤,這應該是該權限不能授給第三方應用,因而在程序中不能執行,與android中普通安裝應用程序最終調用的方法是相同的,但是卻對第三方應用是沒有權限執行的。(4)另外解決思路:1>使用android:sharedUserId="android.uid.system"屬性來使應用程序獲得系統權限,看看是否能夠執行行Runtime.getRuntime().exec("pm install-r.")方法。2>閱讀android實現應用程序安裝更底層的代碼,看看能否可以調用的底層方法進行安裝或者自己實現一個安裝程序的代碼,但這可能性不大,因為這涉及到android更底層的調用,肯定會有一定的權限限制。3>在網上看到一個文件管理程序,據說是可以實現批量寂寞安裝應用程序,但說明運行時需要用戶確定得到手機的root權限,所以沒有太大意義。4>定制自己的android系統,可以解決內容來自www.anxorj.tw請勿采集。


  • 本文相關:
  • Android是不是可以實現靜默安裝模式
  • 你好,我想要那個android 應用案例開發大全第二版的源碼,能發給我嗎?
  • 如何實現android靜默安裝
  • android基礎與教程書上例子的源碼
  • Android 實現靜默安裝apk是不是只有通過編譯系統源代碼并刷機才行?
  • 請教如何在Window下編譯android源碼中的Browser例子
  • 請教如何在Window下編譯android源碼中的Browser例子
  • android應用開發詳解18章例子,源碼運行不起來
  • android源碼 android系統源碼 到底有什么區別
  • 怎樣實現在android源代碼下來調用隱藏的接口?靜默安裝?
  • 網站首頁源碼下載asp源碼php源碼.net源碼jsp源碼軟件開發腳本下載js框架網站地圖網頁游戲黑客源碼數據庫類其它源碼整站系統博客程序留言聊天企業網站新聞文章ajax相關搜索鏈接文件管理交友會員上傳下載投票調查框架模板整站系統新聞文章留言聊天博客系統賀卡圖片ajax相關文件管理問答系統社區論壇上傳下載整站系統控件組件新聞文章主機域名計數統計小偷采集電子商務學校班級 社區論壇上傳下載投票調查blog程序留言聊天整站系統社區論壇上傳下載投票調查數據管理jsp其它c#源碼易語言源碼delphi源碼vb源碼java源碼其它菜單導航tab標簽焦 點 圖在線客服css特效相冊代碼flash特效批處理其它jqueryextjsprototypemootoolsajax/javascript其它框架主頁源碼下載androidandroid 一個輕量youtube客戶端源碼android kotlin開發高德地圖android 仿小米日歷源碼萌鑫直播源碼app源碼 v3android 仿京東金融首頁頭像效果app安卓android項目源碼高仿知乎android studio版本demoandroid項目源碼高仿知乎android studio版本demo下載android經典源碼全集(簡單易懂)android經典源碼全集(簡單易懂)下載看代碼學android開發系列:android 個人記賬程序源代碼看代碼學android開發系列:android 個人記賬程序源代碼下載github上最火的40個android開源項目源碼打包github上最火的40個android開源項目源碼打包下載android開發精典案例60個源碼打包android開發精典案例60個源碼打包下載看代碼學android開發系列:android指南針程序源代碼看代碼學android開發系列:android指南針程序源代碼下載看代碼學android開發系列:android天氣預報源代碼看代碼學android開發系列:android天氣預報源代碼下載mars老師android視頻源碼(33集全)mars老師android視頻源碼(33集全)下載android應用源碼實現手機通訊錄效果源碼android應用源碼實現手機通訊錄效果源碼下載找不到分享碼?android 一個輕量youtube客戶端源碼android kotlin開發高德地圖android 仿小米日歷源碼萌鑫直播源碼app源碼 v3android 仿京東金融首頁頭像效果coordinatortablayout 酷炫組件指尖書香詩詞散文閱讀和小說開源appandroid應用源碼廣東海洋大學圖書館安卓客戶端項目源碼android應用源碼仿唱吧部分布局界面項目android應用源碼可以自動定位和手動選擇的天氣預報分享碼的獲取方法迅雷winrar v5微信小程序androidasp源碼生活購物php源碼asp.net源碼jsp源碼軟件開發移動開發網頁游戲黑客源碼數據庫類網頁編輯器其它源碼android 一個輕量youtube客戶端源碼android kotlin開發高德地圖android 仿小米日歷源碼萌鑫直播源碼app源碼 v3android 仿京東金融首頁頭像效果coordinatortablayout 酷炫組件指尖書香詩詞散文閱讀和小說開源appandroid應用源碼廣東海洋大學圖書館安卓客戶端項目源碼android應用源碼仿唱吧部分布局界面項目android應用源碼可以自動定位和手動選擇的天氣預報chrome
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.anxorj.tw All Rights Reserved
    陕西快乐10分下载