android獲取package
A. android 怎麼獲取應用安裝包的大小
網上找了一下有兩種方法:
1、直接拿到data目錄下對應的包,然後用File.length()方法獲得。然後會發現和設置里顯示的大小不同。
2、通過反射調用設置里源碼的方法獲得PackageStats類的實例。
兩種方法都不想用...
後來自己找到解決辦法:
PackageManager類有個getPackageSizeInfo方法如下:
復制代碼 代碼如下:
public abstract void getPackageSizeInfo(String packageName,
IPackageStatsObserver observer);
只是這個方法是hide的。
自己編譯一下的android2.3的Framework框架,把jar包拷出來,只需要把框架導入到library,設置在默認的android的lib之上遍可以優先使用自己編譯的框架了,其實也就是讓自己應用層能調用框架中的介面。
framework下載:點擊此處
下載好後,通過添加lib後把classes.jar添加到此lib中,如圖:
下面就是直接使用方法了。
代碼如下:
pm.getPackageSizeInfo(packageInfo.packageName,
new IPackageStatsObserver.Stub() {
public void onGetStatsCompleted(PackageStats stats,
boolean succeeded) {
Log.v("King", stats.codeSize);
Log.v("King", stats.dataSize);
Log.v("King", stats.cacheSize);
}
});
第一個參數是包名,想必大家都能拿到。
第二個參數是實現AIDL生成的JAVA介面的匿名內部類。在回調方法里即可處理程序大小數據。
stats.codeSize:應用程序大小
stats.dataSize:數據大小
stats.cacheSize:緩存大小
一般大家可能都是用listView去顯示每個應用的大小,而調用getPackageSizeInfo方法是不能立刻拿到值的,所以要和其他數據非同步顯示。
可以通過handler講數據發送出去後,然後調用Adapter的notifyDataSetChanged()方法更新顯示應用大小。
也許你還想點擊每一項可以可以直接跳轉到設置里的應用管理界面,而不自己去寫卸載、清除緩存等方法。設置源碼的方法如下,可以搬過來照樣用:
代碼如下:
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS,Uri.fromParts("package",包名 ,null));
// start new activity to display extended information
startActivityForResult(intent, 1);
B. 安卓手機如何打開.apk文件
1 APK是AndroidPackage的縮寫,即Android安裝包(apk)。
打開方法;
1
首先,要確定你的APK文件的性質,是在電腦的什麼位置,電腦中是否有能打開APK文件的軟體,如果沒有的話,要安裝些類軟體或在手機里打開APK文件。
2
apk軟體是基於LINX開發的,而我們現在用的電腦系統一般都是windos操作系統,所以肯定不能直接打開。所以要藉助一些軟體或其它方法才能在電腦中打開。
3
APK文件是zip格式,可以在電腦中右鍵點擊文件選擇打開方式,然後選擇用winrar打開來查看文件中的內容。或者更改文件後綴名為.rar,然後用winrar文件解壓,會得到一個文件夾,裡面就是改程序的源文件了。
4
如果想在電腦中打開下載了的apk文件,也可以下載一豌豆莢或91助手類型的軟體,纖褲安裝在電腦上,這時,把手機通過USB數據線連接到電腦上,在電腦上可以讀出APK文件並且可以安裝在手機。
5
如果用帶有安卓(Android)系統手機的「ES瀏覽器」找到存放手機內的apk文件,點擊後等於把文件進行了解壓,這時會問你是否安裝此文件,你如果同意的話,此軟體就會安裝在你的手機內了。這是用手機直接打開APK文件的最好辦法。
6
其實APK文件只是zip格式文件一種,是安裝在安卓手機上,後綴名為apk的一種類型的文件。安卓系統手機的操作系統本身有打開這類文件的軟體,通過UnZip解壓後,可以毀團簡便可以直接安裝在安卓手機系統內了。
apk
APK是AndroidPackage的縮寫,即Android安裝包(apk)。APK是類似SymbianSis或Sisx的文件格式。通過將APK文件直接傳到Android模擬器或Android手機中或亂執行即可安裝。
apk文件和sis一樣,把androidsdk編譯的工程打包成一個安裝程序文件,格式為apk。APK文件其實是zip格式,但後綴名被修改為apk,通過UnZip解壓後,可以看到Dex文件,Dex是DalvikVMexecutes的簡稱,即AndroidDalvik執行程序,並非JavaME的位元組碼而是Dalvik位元組碼。
Android在運行一個程序時首先需要UnZip,然後類似Symbian那樣直接,和WindowsMobile中的PE文件有區別。
文件格式編輯
格式定義
在Android平台中,dalvikvm的執行文件被打包為apk格式,最終運行時載入器會解壓,然後獲取編譯後的androidmanifest.xml文件中的permission分支相關的安全訪問,但仍然存在很多安全限制。
如果你將apk文件傳到/system/app文件夾下,會發現執行是不受限制的。安裝的文件可能不是這個文件夾,而在androidrom中,系統的apk文件默認會放入這個文件夾,它們擁有著root許可權。
C. 安卓手機怎麼打開apk文件
apk是安卓的軟體安裝包,安卓軟體必須先安裝才能用。手機都有自帶的文件管理器,用這個軟體找到apk的所在位置,點擊即可打開安裝。
1.先要在高級設置裡面允許安裝非官方渠道獲取的應用程序。
(3)android獲取package擴展閱讀:
APK是AndroidPackage的縮寫,即Android安裝包(apk)。APK是類似Symbian Sis或Sisx的文件格式。
通過將APK文件直接傳到Android模擬器或Android手機中執行即可安裝。
apk文件和sis一樣,把android sdk編譯的工程打包成一個安裝程序文件,格式為apk。
APK文件其實是zip格式,但後綴名被修改為apk,通過UnZip解壓後,可以看到Dex文件,Dex是Dalvik VM executes的全稱;
即Android Dalvik執行程序,並非Java ME的位元組碼而是Dalvik位元組碼。
Android在運行一個程序時首先需要UnZip,然後類似Symbian那樣直接,和Windows Mobile中的PE文件有區別。
文件結構
1. META-INF (註:Jar文件中常可以看到);
2. res (註:存放資源文件的目錄) ;
3. AndroidManifest.xml (註:程序全局配置文件) ;
4. classes.dex (註:Dalvik位元組碼);
5. resources.arsc (註:編譯後的二進制資源文件)。
APK 是類似Symbian Sis 或Sisx 的文件格式。通過將APK 文件直接傳到Android 模擬器或Android 手機中執行即可安裝。