
命令:aapt dump badging
查看apk包的packageName、versionCode、applicationLabel、launcherActivity、permission等各种详细信息
1电脑安装Android SDK的开发环境,进入
D:\yzy\android\eclipse\sdk\build-tools\2201目录下,将要查看的apk copy一份过来,然后再cmd命令行进入到上面的路径,执行aapt dump badging apk名,即可查看所有信息。
首先是新建一个Android工程,然后修改mainxml文件如下:
添加一个ListView
[html] view plaincopy
<xml version="10" encoding="utf-8">
<LinearLayout xmlns:android=">
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/tasklist"
/>
</LinearLayout>
然后编辑java代码
[java] view plaincopy
package comcaydenrun;
import javautilArrayList;
import javautilIterator;
import javautilList;
import androidappActivity;
import androidappActivityManager;
import androidappActivityManagerRunningTaskInfo;
import androidcontentContext;
import androidosBundle;
import androidwidgetArrayAdapter;
import androidwidgetListAdapter;
import androidwidgetListView;
public class MyActivityRunDemo extends Activity {
private ListView tasklist=null;
private ListAdapter adapter=null;
private List<String> all=new ArrayList<String>();
private ActivityManager activityManager=null;
/ Called when the activity is first created /
@Override
public void onCreate(Bundle savedInstanceState) {
superonCreate(savedInstanceState);
setContentView(Rlayoutmain);
tasklist=(ListView)thisfindViewById(Ridtasklist);
activityManager=(ActivityManager)supergetSystemService(ContextACTIVITY_SERVICE);
listActivity();
}
public void listActivity(){
List<RunningTaskInfo> tasks= activityManagergetRunningTasks(30);
Iterator<RunningTaskInfo> itInfo=tasksiterator();
while(itInfohasNext()){
RunningTaskInfo info=itInfonext();
alladd("id="+infoid+","+infobaseActivitygetClassName());
}
adapter=new ArrayAdapter<String>(this, androidRlayoutsimple_list_item_1,thisall);
tasklistsetAdapter(adapter);
}
}
最后需要再配置所需要的权限AndroidManifestxml
[html] view plaincopy
<xml version="10" encoding="utf-8">
<manifest xmlns:android=">
package="comcaydenrun"
android:versionCode="1"
android:versionName="10">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name="MyActivityRunDemo"
android:label="@string/app_name">
<intent-filter>
<action android:name="androidintentactionMAIN" />
<category android:name="androidintentcategoryLAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="androidpermissionGET_TASKS"></uses-permission>
</manifest>
程序运行效果如图所示:
方法一:使用aapt //aapt是sdk自带的一个工具,在sdk\builds-tools\目录下
1以ES文件浏览器为例,命令行中切换到aaptexe目录执行:aapt dump badging E:\apk\es3apk
2运行后的结果中以下两行分别是应用包名package和入口activity名称
package: name=’comestrongsandroidpop’
launchable-activity: name=’comestrongsandroidpopviewFileExplorerActivity’
注:在android sdk目录搜索可以找到aaptexe,如果没有可以下载apktool。
方法二:查看AndroidManifestxml
1使用apktool反编译app:apktoolbat d es3apk E:\apk\es
2打开AndroidManifestxml
manifest节点的package属性值是应用的包名:
查找androidintentactionMAIN和androidintentcategoryLAUNCHER对应的activity,该activity对应的android:name属性既是入口activity名称,如下:
ThemeNoTitleBar” android:label=”@string/app_name” android:name=”comestrongsandroidpopviewFileExplorerActivity”>
androidintentactionMAIN决定应用程序最先启动的Activity
androidintentcategoryLAUNCHER决定应用程序是否显示在程序列表里
以上就是关于aapt 命令可应用于查看apk包名、主activity、版本等很多信息全部的内容,包括:aapt 命令可应用于查看apk包名、主activity、版本等很多信息、android 获取所有正在运行的activity、如何根据包名packageName获取程序启动的主Activity名称等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)