aapt 命令可应用于查看apk包名、主activity、版本等很多信息

aapt 命令可应用于查看apk包名、主activity、版本等很多信息,第1张

命令: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名称等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9533261.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存