轻松掌握Android应用打包工具!-Linux命令解析-linux使用命令-aapt-aapt (轻松掌握阿拉伯语,日常用语带中文谐音!)

教程大全 2025-07-13 19:00:03 浏览

在安卓开发过程中,应用打包是必不可少的一部分。无论是开发者还是测试人员,都需要掌握应用打包的方法,以便在应用发布的时候能够正确地进行操作。而其中一个重要的工具就是aapt命令,一个在Linux系统下的android应用打包工具。本文将介绍aapt命令的详细用法和作用,以及如何使用aapt命令来打包应用程序。

一、aapt命令的介绍

aapt命令是Android应用打包工具中的一个命令,全称为Android Asset Packaging Tool,即安卓资源打包工具。它可以解决应用程序的资源文件、类包、应用图标等打包时需要的工作,将多个文件打包成一个可执行的APK文件,使得安卓开发者可以更方便地打包和发布自己的应用程序。

aapt命令在Linux系统下可以使用,同时也支持Windows系统和Mac系统。但是,本文主要介绍aapt在Linux系统下的使用方法。

二、aapt命令的作用

aapt命令可以完成以下几项功能:

1. 打包资源:将应用的资源文件打包成一个整体,方便应用发布和传输。

2. 解析已有的APK文件:aapt可以解析已有的APK文件,并从中提取出资源文件、应用图标等信息。

3. 生成R.java文件:在应用开发过程中,aapt命令可以生成R.java文件,此文件用来存放应用代码中的资源ID,方便应用程序的资源文件与代码文件关联。

4. 生成APK文件:aapt命令可以将应用程序的资源文件、类包等打包成APK文件,以便上传到Google Play等应用市场。

三、aapt命令的详细用法

下面我们来介绍aapt命令的详细使用方法。

1. 打印应用程序信息

执行以下命令可以打印应用程序的信息:

aapt dump badging

例如:

aapt dump badging HelloWorld.apk

输出如下:

package: name=’com.example.myapplication’ VersionCode=’1′ versionName=’1.0′ platformBuildVersionName=’7.1.1 NMF26F’

uses-permission: name=’android.permission.INTERNET’

application-label:’My Application’

application-icon-120:’res/drawable-ldpi-v4/ic_launcher.png’

application-icon-160:’res/drawable-mdpi-v4/ic_launcher.png’

application-icon-240:’res/drawable-hdpi-v4/ic_launcher.png’

application-icon-320:’res/drawable-xhdpi-v4/ic_launcher.png’

application: label=’My Application’ icon=’res/drawable-mdpi-v4/ic_launcher.png’

2. 打印应用程序的资源

执行以下命令可以打印应用程序的资源:

例如:

aapt list HelloWorld.apk

输出如下:

res/drawable-mdpi-v4/ic_launcher.png

res/drawable-hdpi-v4/ic_launcher.png

res/drawable-xhdpi-v4/ic_launcher.png

res/drawable-ldpi-v4/ic_launcher.png

res/layout/activity_mn.xml

res/menu/mn.xml

res/values/strings.xml

res/drawable-mdpi-v4/bg_mn_activity.xml

res/layout/mn.xml

res/xml/preferences.xml

3. 打印应用程序的xml文件

执行以下命令可以打印应用程序的xml文件:

aapt dump xmltree

例如:

aapt dump xmltree HelloWorld.apk res/layout/activity_mn.xml

将输出activity_mn.xml文件内容。

4. 生成R.java文件

执行以下命令可以生成R.java文件:

aapt package -f -m -J -S -I

例如:

aapt package -f -m -J gen -S res -I $ANDROID_HOME/platforms/android-27/android.jar

其中,-f表示强制更新,-m表示按照manifest文件进行处理,-J表示输出目录,-S表示资源目录,-I表示android.jar路径。

日常用语带中文谐音

5. 打包APK文件

执行以下命令可以打包APK文件:

aapt package -f -m -F -M -S -I

例如:

aapt package -f -m -F MyApplication.apk -M AndroidManifest.xml -S res -I $ANDROID_HOME/platforms/android-27/android.jar

其中,-f表示强制更新,-m表示按照manifest文件进行处理,-F表示输出APK文件名,-M表示AndroidManifest.xml的路径,-S表示资源文件目录,-I表示android.jar的路径。

四、结语

相关问题拓展阅读:

Linux命令的命令

tar与gzip

tar命令

tar 文件与目录….

参数:

-c :建立一个压缩文件的参数指令(create 的意思);

-x :解开一个压缩文件的参数指令!

-t :查看 tarfile 里面的文件!

特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!

因为不可能同时压缩与解压缩。

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?

-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?

-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!

例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成

『 tar -zcvPf tfile sfile』才对喔!

-p :使用原文件的原来属性(属性不会依据使用者而变)

-P :可以使用绝对路径来压缩!

–exclude FILE:在压缩的过程中,不要将 FILE 打包!

查看包文件的内容

#tar -tf 文件名.tar

向已有的包中添加新文件

释放包文件#tar -xvf 文件名.tar

gz压缩文件#gzip 文件名

解压缩文件

#gzip -d 文件名.gz 或#gunzip 文件名.gz

创建压缩包

查看压缩包中的内容

#tar -ztf 文件名.tar.gz

释放压缩包

#tar -zxvf 文件名.tar.gz

mount,umount

mount是Linux下的一个命令,它可以将分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将分区和/mnt这个目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了。目前mount已经不仅仅局限于Linux了,在Windows系统下的应用也越来越广了,多用在虚拟光驱类软件上,比如Clone CD,Daemon tool,WinMount等。

注意事项

1、必须将光盘、U盘等放入驱动器在实施挂载操作

2、不能在挂载目录下实施挂载操作,至少在上一级

3、不能在同一目录下挂载两个以上的文件系统

4、Linux预留挂载目录为/mnt

5、不能在挂载目录下实施卸载操作

6、挂载目录必须事先存在

挂载光盘

#mount -t iso9660 /dev/cdrom /mnt/cdrom

卸载光盘

#umount /mnt/cdrom或#umount /dev/cdrom或#cd;eject

挂载U盘

#mount /dev/sdb1 /mnt/u

挂载iso镜像

#mount -t iso9660 -o loop iso镜像文件/mnt/cdrom

基础命令

* LINUX图形界面和命令行界面的切换进入Ubuntu桌面环境后,可以使用键盘上的“Ctrl+Alt+F1~F6“组合键来切换不同的tty界面,Linux默认提供了6个命令行界面(F1-F6),比如”Ctrl+Alt+F1″就是切换到tty1:1 /*最上面显示的是Ubuntu的版本计算机名称和tty号*/2 Ubuntu 12.04.1 LTS qingsword tty14 /*输入用户名和密码即可登录tty1*/5 qingsword login: root6 Password:在命令行模式下,想要切换回图形界面可以使用组合键”Ctrl+Alt+F7“。另外,如果不携绝是从图形界面切换到tty模式,而是系统启动时候直接进入的命数隐信令行模式,在登陆后可以使用”startx”来启动图形界面。PS:在图形界面下使用”Ctrl+Alt+T“可以快速启动Linux的命令行终端。

* 列出目录中的文件(LS)在Linux命令行终端中使用的最多的命令就是这个ls,它可以帮助我们列出当前目录下都有哪些文件,下面是一些实例:1 /*2 * 使用pwd,查看当前是在哪个目录中,3 * 显示为“/home/qingsword”,这就是当前命令行所在的目录。4 */5 $ pwd6 /home/qingsword8 /*切换到根目录*/9 $ cd /11 /*验证一下,确实在根目录下了*/12 $ pwd13 /15 /*查看根目录下面都有哪些文件和文件夹*/16 $ ls17 bin dev home lost+found mnt proc in srv tmp var18 boot etc lib media opt root selinux sys usr20 /*可以使用两个ll详细输出,这个命令和ls -l效果相同*/21 $ ll22 totaldr-xr-xr-x. 2 root root 4096 Aug 9 01:21 bin24 dr-xr-xr-x. 5 root root 1024 Aug 8 23:54 boot25 drwxr-xr-x. 18 root root 3820 Aug 8 17:41 dev26 drwxr-xr-x. 88 root root 4096 Dec 24 10:39 etc27 …../*省略部分输出*/…..29 /*详细输出,并且显示隐藏的文件和文件夹,或ls -al*/30 $ ll -a31 totaldr-xr-xr-x. 21 root root 4096 Aug 8 17:39 .33 dr-xr-xr-x. 21 root root 4096 Aug 8 17:39 ..34 -rw-r–r–. 1 root root 0 Aug 8 17:39 .autofsck35 dr-xr-xr-x. 2 root root 4096 Aug 9 01:21 bin36 …../*省略部分输出*/…..上面为ls常见的用法,下面是一些其他用法:1 /*2 * 使用递归模式,显示目录以及下级子目录,3 * 后面的more是当输出超出终端显示范围时,显示一个more,4 * 按任意键可以继续显示下面的内容。5 */6 $ ls -R | more8 /*按时间先后显示*/9 $ ls -t11 /*横排输出,中间用逗号分隔*/12 $ ls -m14 /*按大小排列,先大后小*/15 $ ls -S除此之外ls会显示不同颜色,下面是这些颜色的含义:蓝色—目录绿色—可执行文件红色—压缩文件浅蓝色—链接文件粉红色—图片文件黄色—设备文件灰色—其他文件可以切换到/dev目录下用ls查看一下,会看到大部分为设备文件。* 目录切换(CD)使用cd(Change Directory)命令可以在不同目录之间切换,下面是一些实例:1 /*当前目录是根目录*/2 $ pwd3 /5 /*使用cd切换到/dev这个目录*/6 $ cd /dev$ pwd9 /dev11 /*查看一下当前目录下面的文件*/12 $ ls14 /*这条命令可以用来跳到前一个工作目录,即根目录*/15 $ cd/18 /*跳到当前用户的家目录*/19 $ cd ~20 $ pwd21 /home/qingsword23 /*返回上一层目录*/24 $ cd ..25 $ pwd26 /home* 创建、移动、复制、删除文件的操作可以使用下面的命令来创建一个目录,或者嵌套的目录:1 /*我在当前用户的家目录中,首先创建一个单层目录*/2 $ mkdir qing3 $ ls4 qing6 /*试着创建一个嵌套的目录,提示错误*/7 $ mkdir top/sub/sub28 mkdir: cannot create directory `top/sub/sub2′: No such file or directory10 /*添加-p参数才能创建多层的嵌套目录*/11 $ mkdir -p top/sub/sub212 $ ls13 qing top15 /*16 * 使用递归显示当前目录下面文件,17 * “.”代表当前目录,下面表示这个目录下面的子目录和文件。18 */19 $ ls -R20 .:21 qing top23 /*”qing”这个目录下面是空的,没有其他文件和文件夹*/24 ./qing:26 /*”top”目录下还有个子目录”sub”*/27 ./top:28 sub30 /*sub目录下还有个sub2*/31 ./top/sub:32 sub234 /*sub2下面是空的*/35 ./top/sub/sub2:删除目录或者文件:1 /*强制删除刚才创建的top目录,”rm -rf”后面可以接任何目录或者文件*/2 $ rm -rf top创建文本文件:1 /*使用touch命令可以创建一个空文本文件*/2 $ touch testfile4 /*使用echo命令将hello这几个字符写入这个文件中*/5 $ echo hello>>testfile7 /*使用more命令显示这个文件中的内容*/8 $ more testfile9 hello11 /*追加一行,再次显示*/12 $ echo My name is QingSword>>testfile13 $ more testfile14 hello15 My name is QingSword复制文件或文件夹:1 /*首先创建两个文件夹*/2 $ mkdir dir13 $ mkdir dir24 $ ls5 dir1 dir2 qing testfile7 /*将testfile这个文本文件复制到dir2目录中*/8 $ cp testfile dir29 $ ls dir210 testfile12 /*将dir2目录复制到dir1目录中,复制非空目录要添加参数-r*/13 $ cp -r dir2 dir114 $ ls -R dir115 dir1:16 dir218 dir1/dir2:19 testfile21 /*22 * 复制多个目标到一个文件夹中,23 * 将dir1和dir2这两个文件夹以及testfile这个文本文件,复制到后面的qing文件夹中。24 */25 $ cp -r dir1 dir2 testfile qing移动目录或文件(剪切):1 /*mv可以操作目录和文件,同样可以一次性操作多个目标*/2 $ mv dir1 qing3 $ ls4 dir2 qing testfile6 $ mv testfile dir2 qing7 $ ls8 qing9 $* 重启和关机使用下面的命令重启和关机(这个命令必须使用root用户才能执行):1 /*首先切换到root权限*/2 $ su3 Password:5 /*一分钟后关机*/6 # shutdown -h 18 /*如果是定时关机,可以打开另外一个终端,使用下面这个命令取消关机*/9 # shutdown -c11 /*马上关机*/12 # shutdown -h now14 /*下面这两条命令也是马上关机*/15 # init# poweroff18 /*下面这两条命令都能马上重启*/19 # reboot20 # init 6

–去除重复行

下面的示例演示如何grep的唯一相关的交易,削减不必要的信息,并获得计数。

jfields$ cat order.out.log | grep \(Kindle\|Hardcover\) | cut -d, -f3 | sort | uniq -c

1 Joy of Clojure

2 Patterns of Enterprise Architecture

jfields$ cat order.out.log | grep \(Kindle\|Hardcover\) | cut -d, -f3 | sort | uniq

Joy of Clojure

Patterns of Enterprise Architecture

命令ls

这个命令就相当于dos下的dir命令一样,这也是Linux控制台命令中最为重要几个命令之一。Linux上的文件以“.”开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示 一般文件名外,连隐藏文件也会显示出来。

ls -l(这个参数是字母L的小写,不是数字1)【直接输入ll 等价于 ls -l的效果】

这个命令可以使用长格式显示文件内容,如果需要察看更详细的文件资料,就要用到ls -l这个指令。例如我在某个目录下键入ls -l可能会显示如下信息(最上面两行是我自己加的):

位置

drwxGuest users 1024 Nov 21 21:05 Mail

-rwx–x–x 1 root rootNov 7 22:41 tar*

-rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname*

lrwxrwxrwx 1 root root 4 Nov 24 19:30 zcat->gzip

-rwxr-xr-x 1 root binNov 29 7:43 zsh*

-rwsr-x— 1 root bin 9853 Aug 15 5:46 su*

下面,我为大家解释一下这些显示内容的意义。

之一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。之一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx——;l表示连结文件,如lrwxrwxrwx;如果是以一横“-”表示,则表示这是文件。其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):

rwx(Owner)r-x(Group)r-x(Other)

这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。

第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是空目录的话,那它的数目就是2,非空目录等于该目录中的目录个数加上2了。

第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。

第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。

第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb来显示一个文件的大小单位,不过一般我们还是以byte为主。

第七个栏位,表示文件名。我们可以用ls –a显示隐藏的文件名。

ls –F(注意,是大写的F)

使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。

aapt linux使用命令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于aapt linux使用命令,「aapt Linux命令解析」:轻松掌握Android应用打包工具!,linux命令的命令的信息别忘了在本站进行查找喔。

香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云 服务器 和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。


安卓手机如何打开.so文件?

安卓手机打开文件需要下载Native Libs Monitor这个app,这个应用可以帮助我们理解手机上安装的APK用到了哪些文件,以及文件来源于哪些函数库或者框架。 我们也可以自己对app反编译来获取这些信息。

so文件是手机的一些运行库文件,在系统lib的文件夹下,置换移植其他系统的程序也需要修改更换相关so文件;没有它系统软件不能运行,哪部分损坏就影响相对功能,电话接打,通讯录,相机等等都是要依赖so文件使用的。 so文件需要资深安卓大师更改,一般都是现成的搬运移植,打开它没有什么意义。 安卓手机想要查看文件就需要下载Native Libs Monitor。

so是shared object的缩写,见名思义就是共享的对象,机器可以直接运行的二进制代码。 大到操作系统,小到一个专用软件,都离不开so。 so主要存在于Unix和Linux系统中。 so是与平台相关的二进制机器码,Android应用支持的cpu架构取决于APK中位于lib或jniLib目录中的文件。

由于Android基于Linux Kernl的,也继承了Linux中所有so相关的设计。

除了系统方面的原因,Android开发者还要知道以下几点:

so机制让开发者最大化利用已有的C和C++代码,达到重用的效果,利用软件世界积累了几十年的优秀代码。

so是二进制,没有解释编译的开消,用so实现的功能比纯java实现的功能要快。

so内存分配不受Dalivik/ART的单个应用限制,减少OOM。

操作系统android 4.2+linux和操作系统android 4.2有什么区别

展开全部准确的说 Linux 仅仅是系统内核,而不是整个系统。 而android 4.2 就是手机系统。 一般说的 Linux 系统,主要是基于 Linux 内核而运行的整体系统和软件环境。 所以 Android 也可以算是 Linux 系统的一种。 因为他是基于 Linux 内核上面运行的一个java虚拟机环境。 不过 Android 也有很大的不同就是他的程序都是 JAVA 虚拟机里面跑的,JAVA 的特点就是硬件无关性(当然为了性能 Android 有 NDK 开发包来实现本机的二进制程序开发来提升效率)。 所以 Android 又不算是一种“系统”而更多的是一种特殊的“整机”希望能帮到你

如何在linux下配置aapt环境变量

没看懂什么意思?

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐