⑴ 如何獲取app 的包名和activity 名
在android中,應用程序的版本號是在AndroidManifest.xml文件中進行配置的,而PackageInfo類則封裝了從該配置文件中獲取的所有信息,描述了包內容的整體信息,因此,可以使用PackageInfo對象的versionName屬性獲取應用的版本號。要怎麼獲取PackageInfo對象呢?可以通過PackageManager對象來獲取。PackageManager是一個檢索當前已安裝在設備上的相關應用程序包的各種信息的類。PackageManager對象中的getPackageInfo方法可以獲取PackageInfo對象,該方法需要傳遞兩個參數:應用包名和條件。通常情況下,應用程序的包名可以通過Activity或Context(Activity繼承自Context)的getPackageName()方法獲取,而添加可以有很多設置,通常設置為0。最後是PackageManager對象的獲取,Context對象提供了getPackageManager()方法來獲取該對象。
⑵ 一個安卓應用的.apk怎麼查看包名
一個安卓應用的.apk查看包名的具體步驟如下:
1、首先將手機和電腦連接在一起,點擊打開開始菜單欄中的「運行」選項。
⑶ Android 如何獲取應用程序包名
給你找到了,挺詳細的:http://blog.csdn.net/qinjuning/article/details/6867806
⑷ 如何簡單快速獲取Android應用包名
Android 提供了一個API以讓應用程序向系統查詢包名信息. 使用 PackageManager 的 getPackageInfo(java.lang.String, int)方法Context context;PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), 0); String packageNames = info.packageName;
⑸ 如何查看Android應用apk的包名和入口Activity名稱
Android開發過程中我們有時需要使用第三方apk資源,而啟動第三方apk在某些情況下需要指定相應的包名和啟動的Activity名,這個時候就需要獲取這兩個名稱,我們可以使用如下三種方法:
1、使用aapt //aapt是sdk自帶的一個工具,在你安裝的Eclipse路徑下的sdk\build-tools\中,如我的是D:\Eclipse\androidTools\sdk\build-tools\android-4.4.2,如果你下載有apk反編譯工具,也可以直接使用裡面的aapt
以「GO備份.apk」為例,先進入cmd命令行窗口,然後運行:D: -> Eclipse\androidTools\sdk\build-tools\android-4.4.2
-> aapt mp badging C:\Users\Administrator\Desktop\GO備份.apk,即可獲取到AndroidManifest.xml中我們需要的內容,如
package: name='com.jiubang.go.backup.ex'
launchable-activity: name='com.jiubang.go.backup.pro.StartupPageActivity'
2、查看AndroidManifest.xml
同樣是查看AndroidManifest.xml,這里我們可以採用反編譯方法來獲取信息,同樣是打開cmd命令行窗口,然後運行:E:
-> apk反編譯工具\apktool\apktool -> apktool.bat d -f C:\Users\Administrator\Desktop\GO備份.apk GO備份,然後打開「GO備份」文件夾,打開droidManifest.xml文件,找到manifest節點的package屬性值package="com.jiubang.go.backup.ex"語句即為包名,查找android.intent.action.MAIN和android.intent.category.LAUNCHER對應的activity,該activity對應的android:name屬性即為入口activity名稱,如<activity
android:name="com.jiubang.go.backup.pro.StartupPageActivity"。
3、使用uiautomatorviewer
可以直接在命令行輸入uiautomatorviewer,打開獲取屏幕截圖工具,連接手機,打開所要獲取包名的應用,然後獲取其截圖,根據截圖查看package即可,uiautomatorviewer的使用這里就不做介紹了。使用這個需要注意的是,該app必須是有界面的,否則無法獲取。
另外,
android.intent.action.MAIN 屬性決定應用程序最先啟動的Activity
android.intent.category.LAUNCHER屬性決定應用程序是否顯示在程序列表裡
⑹ 使用adb查看android應用信息
以下命令可以獲取當前應用的包名,以及當前頁面所在的 Activity
⑺ android5.0之後,如何獲取當前頂端包名
//獲取到棧頂應用程序的包名
public String getTopActivty() {
String topPackageName="888";
//android5.0以上獲取方式
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
UsageStatsManager mUsageStatsManager = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE);
long time = System.currentTimeMillis();
List<UsageStats> stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000 * 10, time);
if (stats != null) {
SortedMap<Long, UsageStats> mySortedMap = new TreeMap<Long, UsageStats>();
for (UsageStats usageStats : stats) {
mySortedMap.put(usageStats.getLastTimeUsed(), usageStats);
}
if (mySortedMap != null && !mySortedMap.isEmpty()) {
topPackageName = mySortedMap.get(mySortedMap.lastKey()).getPackageName();
Log.e("TopPackage Name", topPackageName);
}
}
}
//android5.0以下獲取方式
else{
List<ActivityManager.RunningTaskInfo> tasks = activityManager.getRunningTasks(1);
ActivityManager.RunningTaskInfo taskInfo = tasks.get(0);
topPackageName = taskInfo.topActivity.getPackageName();
}
return topPackageName;
}