2015-05-11 70 views
0

我想寫一個android應用程序,它可以分析APK文件並輸出這個應用程序所需的權限?我看到一些應用程序實現了這一點,誰能告訴我他們可能使用哪種方法?感謝如何分析Android應用程序中的Apk文件?獲取權限

+0

可能重複:http://stackoverflow.com/questions/5385957/how-to-get-apps-permission-for-each-app-how-to- do-it-program-on-andro –

+0

@AsifMujteba它似乎分析安裝的應用程序。 – Eva

回答

1

與外部APK文件做的最好的方式安裝的:

.apk文件是一個休閒.zip與改變的擴展。權限位於AndroidManifest.xml文件中,所以您的工作是將其加載到內存中,使用某個XML解析器進行解析並搜索uses-permission標記。
看起來像這樣<uses-permission android:name="android.permission.XXX"/>

從存檔解壓縮XML,我會建議This SO post 您應修改它抓住只有.xml文件, Documentation of ZipEntry告訴它有一個.getName()方法。 我將離開你的XML解析研究(that tutorial is not bad),是的,它顯然是可能的。

編輯:我發現一個庫可能可以做到 - APK-Parser Github,但它沒有在android上測試。一些用戶報告在Android L某些問題

try(ApkParser apkParser = new ApkParser(new File(filePath))) { 
    for (String permission: apkMeta.getUsesPermissions()) { 
     Log.d("APK PERM",permission); 
    } 
} 
+0

這些過程可以在電話端完成嗎? – Eva

+0

當然,看我編輯的答案:) – Toumash

+0

所以沒有現成的方法,對不對? – Eva

相關問題