Android学习第三天-打包常用命令
在前面《Android学习第一天-adb常用命令》和 《Android学习第二天-android常用命令》两篇博文中,我们重点讲解了adb和android的常用命令,下面我们讲解一下打包的时候常用的命令吧
3. emulator
一般情况下,我们使用这个命令进行模拟器的开启比较多
模拟器的开启方式如下:
emulator -avd <avd_name> [<options>]
或者
emulator @<avd_name>
一般情况下我们都是直接打开即可,具体的options可以参考http://developer.android.com/tools/help/emulator.html,在此不做重复说明
4. Android Asset Packaging Tool
Android Asset Packaging Tool,简称aapt,通过aapt,我们可以对打包的资源进行管理,包括查看,增加,删除。
4.1 查看资源包内的内容
aapt l[ist] [] <path_to_apk>
eg:
aapt l xiaoxuetu-debug.apk
终端的执行结果是:
aaarticlea/png;base64,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" alt="" />
4.2 查看APK内的指定内容
Usage:
aapt l[ist] [-v] [-a] file.{zip,jar,apk}
List contents of Zip-compatible archive. aapt d[ump] [--values] WHAT file.{apk} [asset [asset ...]]
badging Print the label and icon for the app declared in APK.
permissions Print the permissions from the APK.
resources Print the resource table from the APK.
configurations Print the configurations in the APK.
xmltree Print the compiled xmls in the given assets.
xmlstrings Print the strings of the given compiled xml assets.
例如,我要查看这个包所使用到的权限:
aapt dump permissions xiaoxuetu-debug.apk
终端的执行结果:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAm4AAAA2CAIAAADxiIL3AAAFlUlEQVR4nO3cy3bbRgyAYb6mE++dxOukbV5eXfREZYg7MLIo5f8WORQ1xAAYVahPU2+v7z83AADQxigFAGCEUQoAwAijFACAEUYpAAAjjFIAAEZe339eNI1QhweHcXrPPrRVhVtBbh3/QYVtydd7zs486z9Qq4o6W3POls8qyc/h2T6u2Xz++6lUTsEwurWl9bLkVK10LE/y1qOuetDV+B+vlEmyLaV3J4sbnuDIVmGUfoC1mSRLO1UHtmQ+6iiVUQ7vquv/zFF6l4/aqviP0mdLNX9r/do+3K6r7ciPftC4i3t9v53t49ocperUDAenvHOIKePs74TPhnHUVNX1C++rfQjr9ePLYq3+9PJX33LuqClN+ma9lBuV+qk+m6nX6U9m302TiRP2R60r3Dqsy7921if3ddY79V6Mz4D/yCXRz1X3rWScOH5/5MuFecqXcqNSveqzpZL9LcL1mfyTKfl981tqxt+PUrWqMCE1FZlZ+Ii6rNRKp9RMnOq11YdV+1r9qebTyF/da1W9VvxJfzI5ZOoN383EL21d2sLZzo9Zus4fTWnrzDlefvHz8YNUkx/GaRyQ2hMrH+utfD/b+YfpyeuD+b6TOKHMvlYOR+FPpflU9vtZ26upW8tk3lYlfgsOofwg6tbhCVl1hWfT6E9Yi5N8poFy6/ziZF1qfP9ZGT9TfrKETKrz+Fb+1VbI7VSZIOr19c92DlbYsA9yvZqPlUnyOPx3q31L9kTdNJmt2jf/UKwmW9fOuTjpZQof7nu9bpyLn1KvRWbQ3n8rlQsaZTv7qnGcpyY5hMkkF7SPvNqfsBYnSHjQh5eZRjXqUuNXz8t6q/FsJtV8/Hl/Gq3oFaheX/9s52CF7Z2j9bgVcHi/cV5+fNXllxvlI+M3DjQss/1hyO+7/xj0ziWffxjWix/+DV7nyGUGpbKdzEqtrK5fdW2lvTC+ul2YT6Y5Tv7qRSN+pq5V/ZmcV/hIqZ/+nWpd1rVfV2/fffB8qvmtk/XKm1bJ1aaFG/XiVJtj9WRhXWHPbxEnLLaxbyaH68sruXumn71U/7fq/ys9VOuU6t+Uxctr5xFri0aczH2/D05PMnk6myb7IOuVW1uRD3d68dU8M/EzcayE2/VaqR52l4lZpYX5ZOp1SguV9nVqcfLx93X66d8s5aPet/Jx8vTjyAVhfKc5vbqc9aX4mTjyEfVmpupe/tZbzr5+qqV81KZ59T7HbzvKHCfwKM72ea7mc7b88cRSc64equwJRqn6rzbAgzrb57maz9nyx9Nb8pGbBnmCUQoAwD0xSgEAGGGUAgAwwigFAGCEUQoAwMjCUcpf2zugGwDwR1j7UynDY+9U3ThPJgDwbB5ulPKzbwMdA4Abuv7iwC36xWn7p/z71rUTJ7leTdJRyv8iZII7tVf75gTcv7SaXK3LiQMAKHh9/2dLfKsmv4LVr/tqnFVf8e29/BLULcKmNXKz4jf6VjpTAEDN6zdvlF5+JxccyMXJOM6m7a9469kwBzm9wl3CjQ6LM32w4jf6pmbo7wsAyPr87e/NnijJr/ur0rON+Js7uqxknPtW4WEamXxKI9DK2Z+L1XOxbiaLBQAoPn8djdLMt3y4/jAtqqPFUs1/n7CTqrpFOKsa+Vjxbx0HAFDz6etfmzHStt/nh/zm9YeNun6rTJ3597sVx8k/TCmz/iLIIMl++vEzcaz8nTgAgIJPX35sd/oalTPggxMAAGCBl7fvzo8yt3bHrQEAWOPl7fu9UwAA4JExSgEAGGGUAgAwwigFAGCEUQoAwAijFACAkZe3H/dOAQCAR/byhVEKAMAAoxQAgBFGKQAAI4xSAABGGKUAAIwwSgEAGGGUAgAwwigFAGCEUQoAwAijFACAEUYpAAAjjFIAAEYYpQAAjDBKAQCY+BfnNe1yV69RWQAAAABJRU5ErkJggg==" alt="" />
因为该项目并没有使用到权限,所以也就显示为空了。
4.3 打包生成资源压缩包
aapt p[ackage] [-d][-f][-m][-u][-v][-x][-z][-M AndroidManifest.xml] \
[-0 extension [-0 extension ...]] [-g tolerance] [-j jarfile] \
[--debug-mode] [--min-sdk-version VAL] [--target-sdk-version VAL] \
[--app-version VAL] [--app-version-name TEXT] [--custom-package VAL] \
[--rename-manifest-package PACKAGE] \
[--rename-instrumentation-target-package PACKAGE] \
[--utf16] [--auto-add-overlay] \
[--max-res-version VAL] \
[-I base-package [-I base-package ...]] \
[-A asset-source-dir] [-G class-list-file] [-P public-definitions-file] \
[-S resource-sources [-S resource-sources ...]] \
[-F apk-file] [-J R-file-dir] \
[--product product1,product2,...] \
[-c CONFIGS] [--preferred-configurations CONFIGS] \
[raw-files-dir [raw-files-dir] ...] \
[--output-text-symbols DIR]
上面的参数有点多,下面给出一些常用参数的简单说明吧:
-f 如果编译出来的文件已经存在,强制覆盖
-m 使生成的包的目录存放在-J参数指定的目录
-J 指定生成的R.java 的输出目录
-S res文件夹路径
-A assert文件夹路径
-I 某个版本平台的android.jar的路径
-F 具体指定APK文件的输出
-J R.java文件的生成目录
在AAPT中常用的命令格式是:
aapt p -M <Android应用清单的路径> -I <额外添加的包> -F <目标文件的路径>
-I 额外添加的包必须包含android.jar这个jar包
下面举一个例子:
aapt p -S res -M AndroidManifest.xml -I D:\Java\adt-bundle-windows\sdk\platforms\android-10\android.jar -F ./xiaoxuetu.apk
终端执行结果:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAA2CAIAAACwdWokAAAHZUlEQVR4nO2bS5LrOAwEff9La1bzQhZ+BZBWy47MxQTNT6EA0PSbRb9eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/A4THWiT4O/AzOfjW7Eo9EPq3/fL7Xec7iN/ceZu/DIKmbv0e73r1c4fn9fe27hy2d452VuIPoN7BoZnsuVvCeinX1H9REW69yvyKyeCdmZ+9ku8ktiSci3UZ39e+n6+SGV+Bz4lHEI/ixfxTn9058+8YP953fo0Fe3bgX/UXxleNiiI8WP9ksnhIvnhhdZ+MPYktqezqu4A1P60Ne+7Zm+ZREX/hkciW3T7dqF/dc3M/pf0udI2b+P5f1n9TzHPTJDT08yv12rMdasivrd/NaDPcEnRuitESSq+J2pHX3NjKWXXy3t6fjCj7w8XlKHy8X1C4p1Uwugfv0nGfKs6WOa9Xdv3HerUOZb65vk43qM/PvLiUzrqWVukUfbaBWPd2z1pKuX/p340ZSiQdxf6nT2m9r/ur3d+BTL1He09Kn3b+eb66fL+UiSty8pOV8ZDLCPa7oKOIlLRFb88tS12RSulZQMa7SxyO+b1EWik401v0kqQ1Muh9dnYHPZFKPGyWb7c8L163Iv/9eBvkRd1t0tixKYnXXOKrDrrhRfbp+Bv7dWLvyjfRX6qN4ULKI9oslTcKVHsqzh8dlqRv3fHBQ/5bP80DPd33czdc1oMRK8mrV0417dr5eB5G8VlG+YpTDY2a1LGl5Slxq9TGaF+N2+5jUM2pfGauVb2LSjq3PMseW/jiXsj5dP87aS8YVvfgrk4m2lSUuczveUUTc0NGRaEMZVxlH9SlzScwrBbSh9c1iXq5+ftbqK+mLKeT6Xas2XMTK2VxN2Xl490qv86K9UjPy0x3n+SZmZk23S6L/pDLJtla/yppHR1xxW8ZxlEWrZUm7B92U9T5GfYmym+mLOUZSSizRj5JUafhszA2RFGHLOC9L7rnYnwiV1Rk3L4nr6iSnVjyUZsQNrbgr9SlzSUTKRl8+KoUa5OXqd/sVLe2qj9gX0Wrpv3t2RUQpi3hq5rMbbmUcxfrEPTl/HPiMJnf1a9DB43+siE1zHCWKO9jsuk2kxv0a93cxbi6bx/pEvpGrsUlrr9TfMhbj5ln7+631y1JeKdszsTGRcpS/otPysDKObG/Ud8OVfpTiJP7dwUBfyWtXffR+5TODvrjjvM6lTouBSNlWvZ4zn4rUyt1QYpV5dZt++Tiup53c1S/X23kpiutq5lKvNVoi3bzc4+N6RkUus1iMW+rnlrpxy7zGdRDzEvV31XNXH9+WL/t0Lv7cBJTJ83yUZ3IkCjHQUebzOiQ1UXwmQcU62Hxt6Ej5MjPTd30q+opOZLjUybPu+klClyQ6LVoiSjGjpNZNRh/z/cr4FfRrMV8bztVPbCf7I//24Nh/dKScjz4q+UZRRFoKuyImcW07LkuRpWhDFPcl3B+7VKZmoyT61kCZ12Gw86XPyEOkv+izG7d0Psj3a/jBlODB7Lpv3FsAAHguP/vPRngku+4b9xYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbubyN00b/8Rp4x9M/cAfXu0txbq+3Xm8s+gzifuoOiRSn+DwuCf02cCdER/FD7wkAPBNXF6c5KdrXbzcnCjc/DJuj/XRf1i09O3O5A78cB02+pmF2xh63Po/5E+cPKoCAPDj6P/AGjxMK7/6K3HX2R7304ko+seJ6Oxlw0/W4Q+xX7ftml/Bz3yvAQCuHO9c5u3YfjzPuD/byRFXufSj67iJlKFL86L/aL/1Y6MoOqV+TiSSZ/erdVDiJj67XNIf60SCUeNW6ukKvsy1SfYkk9FZsc65zzyFxVYCADgoj7L7+kQPsbKaSyXhWq+k+7aeB1GOYr6lB2Vc+hT95LGU6lkz+YbvqoNCtF/xmWu69Y+aMiNvZVm3aEnvl342aVnpQUG8Enl9AABWKR8+8SHOpZIZGyKK2H2Iz8ruoPSs5Hvx3x2XPpXEu4lEIi/TdD30V9dBzyvyOeBidSZipex8suRuFvvl6udnk3om9sQiK/qRpVIcAKBN8pD9+5i8Qd23uBU3iTXWOSel+EyOl4mLxenmVYrovxlR+qXUj9Vh3eeAG3Qu3UxODfrl6utnc//dPor9cse7GgEA8MbgYYoUlLe4FTc50vXviuvmrUL5aovjQV6lSO4/ERG9nZe+qw4Xw2IsvSYtBjrWv5LOSt2UOuzqu7i/rMN6agAAezi/VpeB+ABdjrgPnF1y49olKxL5V/aXj6/y1NoSuYkkSV0Gel6zeropuCJ26ZfqECW7xWeLmY7rP9npfuzWzbWq6Cs6UV6JTnd/mazVBwB4FjxS8HXwK/vz0FYA+G6S/z0FeDJc3R+G5gIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzjPzliAzCSiLZYAAAAAElFTkSuQmCC" alt="" />
当然,这里打出来的apk并不是完整可用的,真正的apk打包还需要经过dex的编译等流程。
4.4 从压缩包中删除指定文件
aapt r[emove] [-v] file.{zip,jar,apk} file1 [file2 ...]
Delete specified files from Zip-compatible archive.
首先,我们查看下前面打包的xiaoxuetu.apk里面的内容
aaarticlea/png;base64,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" alt="" />
下面如果我们要删除里面的AnroidManifest.xml文件,执行下面命令:
aapt r xiaoxuetu.apk AndroidManifest.xml
终端的执行结果:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkwAAAAnCAIAAAByqoAkAAAECklEQVR4nO2byXIbMQxE9Zt27LOd5Rpn+XnnkEplIixscDhakPdOI4psNJpjoXLI6fH17QQAANAShhwAALSFIQcAAG1hyAEAQFsYcgAA0BaGHAAAtIUhBwAAbWHIAQBAWxhyAADQFoYcAAC05fH17d1jQurs4E6dubN3zarGI5Gj9W+f+3Wu0Lu7IXOv9/SRi/2drvpdzRXu4ld3ckL9/peczXFYLHIQfSxx+3H/ZrnJo4dQ9aKr+pfnAj9qVf3jxIel7/deVhUt1Z380bzs3+nW4ZJRZBXO9HeK7zkullgw5KxiFEqy+J8MubU+L/ATvOqOboE5/8d1fe95ruJaOZTq2kFyUKEJ3CG35bhyt6CzuMqDGXLuPBuONLsS3ZOrPDw71HGtRq/FqnU3h2G/ub5tNspnzr/7VbLiWtqTW/TRFirl6Z61lnT9oX+3biQVebC95/vdjyX/w77cNpM9yWJ0Vul36DNvYVgi9zbMze4X8xHXIz/RV7mIUjeKSNSJTEa4xxUdRfwfHl7+DjnRnOLSmhYbc9ft2UgnikDRqT5HOayqG+VT9TPh3621qt9If08+igeli2i/GGlSLvewvV99v2heN3wL9zL0r9gohbmw3+09DvudaEqRmqu7db4/B5E8q6jfapXTw8tXW2PCZWJuGEq0TW8vv4MzqVzELT2MNeorN5Y/R/kMe0nMKwHa0vpmsS9XPz9r9ZX2xRZy/apVWy5iqyye7X0vUbMTlqriw3wS/1sF+6AEUq2V5FOtm29zI40SFpN3q1gRG+NkFTvkhibcDdZf9cJczYlLqnoYmhE3lOruyWfYSyIyvOizj0pQE325+tX7ir5alY94L6JV3b9ypOW96PuHlvbo73wf9H7ncnZ7LN2RXRS3zenkvP/BikRXWa7iDjlbUuy2dAGJXfeIqDP9ElSfI9sL9d1yQz9KOIl/92FCX+lrVT76feUrE/fiPuc5J2bE/V3vRfE/Z8myp8fEj+J/uqnTjjtK3Jb8V71tv4rqupq51EnnYdH/kzsz5DavLJ5MHPY5ORKVmNBR1vMckkwUn0lRMQfbry0dKZ+tzOm7PhV9RScyPNTJu676SUrnJE0l+92P7wbdf0lf0UlyiHSq+4fNWv08T+U58qOEEPWVtJAHJe6P/NuD0/6jI8P16KPSb1TF5/H1m7Tvtik0DLAb3rfrQv5Q4MPH79e2sJfyYAfYAe/bdSF/qNFgyAEAAPg8ffpxbQsAAADH8PT557UtAAAAHANDDgAA2vLMkAMAgK48f2HIAQBAUxhyAADQFoYcAAC0hSEHAABtYcgBAEBbGHIAANAWhhwAALSFIQcAAG1hyAEAQFsYcgAA0BaGHAAAtIUhBwAAbWHIAQBAV34BLJy4uXYK/kYAAAAASUVORK5CYII=" alt="" />
什么都没有输出表示已经删除成功了,我们再来查看下该apk中的AnroidManifest.xml是不是真的已经被删除了:
aaarticlea/png;base64,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" alt="" />
是的,我们再也看不到AndroidManifest.xml。说明已经删除成功了。
4.5 往压缩包中添加指定文件
aapt a[dd] [-v] file.{zip,jar,apk} file1 [file2 ...]
Add specified files to Zip-compatible archive.
假设我们要往xiaoxuetu.apk中加回AndroidManifest.xml文件,我们继续执行:
aapt a xiaoxuetu.apk AndroidManifest.xml
终端的执行结果是:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkwAAAAqCAIAAADONJP6AAAFKUlEQVR4nO2czXbUOBCF/ZrwAjNPwMMSyBrIbGcgq7DIGWhcP7oqyd1t5ftWtizdulVqVMec7myPT8/v/vqwAQAArMfj0/O7v2lyAACwIo9Pz+9pcgAAsCQ0OQAAWJbHf2hyAACwKDQ5AABYFv67EgAAluUzTQ4AAFbl9U3uxaOgtls4qFNbe2pmJR6JHK1//5zXucLa2TWpfbzLS67273TWuZornOLUrXSoX29yto7NYJGD6LaL+y/3K9NNHt2Eeje6V//6XOFQ69U/TrwZ+rz7MitoV9zKoVkK1Ctim9zr7ZRWZBV2+oPiI8vFEBOanFWMipIMvpEmN9fnFY7gWXt0D9T8H5f12es5i1vVoSuubSQHBSrgNrlLjgt3Dzozo3x++mGbnNvPmi3NjkT75Co31zZ1XKvRx2LWuFuHZr65vk02qk/Nv/soGXEtjdQturWBuurprrWWdP2mfzduJOVSmOzedvlv5uWmmcxJBqO1I/XZGctr0hSPrpt1s/PF+ojjkZ/oUS6ixI1KJOpEJiPc5YqOIv6bT382OdGc4tKaFhNzx+3aSCcqgaLTex3VYVbcqD69fgr+3Viz8o30R+qjeFCyiOaLJU3C5YgL38K+NP0rNhT9kRzzuuU1HElKkarFvXQ+XgeRvFZRvn1RPn1rv8mJLhNzzaJE0/T08j3YSeUibuhmWaO8cmP5dVSfZi6JeaWANrQ+WczL1c/XWn0lfTGFXL/Xqg0XEekrS5pJRfq54d5km/Vp6ijJFiz1ijfrk/i/VLAXSkF6YyX16Y2bT3NLGlVYrLwbxYrYMlaiuE2uacKdYP31bpirWdikXg9NM+KErrgj9Wnmkog0N3p3qxSqkJer37tf0aNZ9RH3RbSam9cXLrwv+vympRH9wc+Dnm+tzm6OXXtkB8VpNZ2cl/+xItFW9kWJmpwNKWbbtQGJXXeJqFP+EPReR7Yn6rvhmn6U4iT+3YuCvpLXrPro+5WPFPbFvc7rrPjMl6y6L4r/miXLSI6JH8V/OaltYI8St13+e71dPoriupq51Cby8O37rN/J7Qy5ySuDmymHvU6WRCEKOsp4XoekJorPJKhYB5uvDR0p70Zq+q5PRV/RiQw3dfKse/0koZtE+slk9/bFoPvv0ld0kjok+XbNbybbW0/lOvKjFCHKK0khL5Q4P/JvF5b9R0ua49Gtkm8UxeHh6/c1/uKJmjDADPi83RbqDyprNLm+xg4wBp+320L9oYM1mhwAAIADTQ4AAJbl4et/NDkAAFiTj19ocgAAsCg0OQAAWBalyUXfYip8u2nWd6JySy/pb0Smxz3FF72SL6Tdv3kAgCLlJlf+Fu+hTW4Lfjm4TWpFVmGnPyg+slwMQZMDgDdErcklb0tNjj5S3SZXbsld4e5BpxCFJgcAy/Lxy795k2sei0lTsUt2j+ybljs/0tH180e5iBI3qpuoE5mMcJcrOrp/AIAVaDY5F9statebd0Dn83OR6NrKduWSx7UdZaQOInmtonx7owAAnJuRJmfP9/LhvjuUa81GjOWm0FwbDSbTrH40PxlPSMRtGctRAABOzP28ySn60areWAWf0aA4raaTQ5MDAGhAkzu6yY14u3wUxXU1c6lNw41bGAcAuBnXaXLbnyfg7iI/MaMTf/c00U9sJ/Mj/3Zh2X+0pDke3Sr5RlEs4z4BAG5MrckBAACcAJocAAAsC00OAACWhT/QDAAAy0KTAwCAZaHJAQDAstDkAABgWWhyAACwLDQ5AABYlZ/JlEPF1As71QAAAABJRU5ErkJggg==" alt="" />
我们再来查看xiaoxuetu.apk中的内容发现AndroidManifest.xml又回来啦:
aaarticlea/png;base64,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" alt="" />
4.6查看aapt的版本号
aapt v
终端的执行结果:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAATgAAAAsCAIAAAB+LTMEAAAD/0lEQVR4nO2bUXLbMAxEdU2nB6h7gKa9vfvRqUcRgcUCJC3R3fdFU+RiARLOxHG2bz9+b0KIi/Nx/3W2BSFExO3+ebYFIUTE7fvPsy0IISLUqEIsgBpViAW4fdfvqEJcntv982FRkDps7NSp7V2aUYl7IrP1r8+6zreP++dm9RjeBe6B9zLFKgUdbnJ2I2UPOqv/erJOZpufJW426iFw+9Rc/3826lifL7hGo87oCtT8z8t6Yj3bRjV7MmzLduag2ersZ8K9oY5p1Vw/cN6sQ5gv1m+T9epT828+AjOmpZ66eS/bQKl6mntbS7x+6N+M60lhD/H6faOSAXC2279W5w/Ayxns9XS8nBmd7Nirw6i4Xn2yfgr+zVij8vX0e+rDeGCy8NaTJQXhsGa8MfyJWgh2OIOw0N6y1j1TR08nLMqjIYzrLQjjMmOvPmEuwDxTwDY0v5jMy9THe1t9Jn0yBayftdqGM8ltrP2OGsYjMwnrGJ5Ev4fQDLkgFbenPmEuQCQ86MNLplCFvEz97Hl5j0bVhzwX0io2H28MP/UFB9aGbAfYEHMVQs3s+lFjz/ZAfTNc6IcpDvBvDgr6TF6j6sOfF54pnIs5xnU+6FCLPwb9HfUBD9hU9sIdJtsx2OKFKOgw87gOoCaMTxCUrEObbxvaUz7M1PRNn4w+o+MZDnVw1lk/IDQDu/jjLf57JlUaITo54b69QaOCt1shhnPOfXuDRhXi/VGjCrEAalQhFkCNKsQCqFGFWIBnoxY+xRr12Rfz162yyOt5NHTqjDU2Su0gO+Sz0NkfqGZ9XugPCu2X8lPbpzYqr/+CgqaU9076e7W2d7baXnYvPvU+DJQNo4w6xDE8v5lUMzQ7AUb/BQXtKct1GnUqA62+4BCZt/VlGvXxlf0u89H+pfnuhXVCfQ9Q0J64npnQD7BU81PQYdaDpDwdMmUyL0+ZjMg4Mcc4eqh5DmGj8uPNqgVej0W89WD7jDFpo7UEbkOtnmWdMKmUDkg5643xmSWMhUuKBU/D/FL+30eFQu8VzEvWc4E8PP9gO7CR0sGWQquhuGmG0empc7b+3sqyfrbaYHs7fs6QUTrNDGPST9Q9oy6QR/ngGfO8jXB96rIeHnWeizlZ1iFTHuUzC45Vvlon88aNOiMv8uRSdSDraXow1z/Brso6ZMqFfMPJlBmQr/eSrM8JFBp1+5rVYYCrbJ5l+9TU92B8grjM/Ja5KKSIma9p3ksT1AfUARjwcimn3DOPq0FaAj690IyZE9A3k94GpvFeqTOQi9g4EzXqOzHq7f8qP0bEEzWqEAugRhViAdSoQiyAGlWIBVCjCrEAalQhFkCNKsQCqFGFWAA1qhALoEYV4vr8AVJOglcXTMh2AAAAAElFTkSuQmCC" alt="" />
5. javac编译java文件
首先我们来讲解下javac的用法:
用法: javac <options> <source files>
其中, 可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath <路径> 指定查找用户类文件和注释处理程序的位置
-cp <路径> 指定查找用户类文件和注释处理程序的位置
-sourcepath <路径> 指定查找输入源文件的位置
-bootclasspath <路径> 覆盖引导类文件的位置
-extdirs <目录> 覆盖所安装扩展的位置
-endorseddirs <目录> 覆盖签名的标准路径的位置
-proc:{none,only} 控制是否执行注释处理和/或编译。
-processor <class1>[,<class2>,<class3>...] 要运行的注释处理程序的名称; 绕过默认的搜索进程
-processorpath <路径> 指定查找注释处理程序的位置
-d <目录> 指定放置生成的类文件的位置
-s <目录> 指定放置生成的源文件的位置
-implicit:{none,class} 指定是否为隐式引用文件生成类文件
-encoding <编码> 指定源文件使用的字符编码
-source <发行版> 提供与指定发行版的源兼容性
-target <发行版> 生成特定 VM 版本的类文件
-version 版本信息
-help 输出标准选项的提要
-A关键字[=值] 传递给注释处理程序的选项
-X 输出非标准选项的提要
-J<标记> 直接将 <标记> 传递给运行时系统
-Werror 出现警告时终止编译
@<文件名> 从文件读取选项和文件名
通过上面的选项可以知道在编译过程中:
1) 由于我们的Android编码使用的是UTF-8,所以需要指定 -encoding UTF-8
2) 由于我们还需要指定生成特定VM版本的类文件,所以我们需要制定 -target 为1.7
3) 由于我们编译的是Android项目,所以需要另外Android的jar包,才能在编译过程中,避免引入错误,因此需要用到 -bootclasspath选项,引入响应android版本的jar包。
4) 由于我们需要制定编译后的class文件的输出位置,所以我们还需要用到 -d这个选项
因此,一般情况下我们编译一个安卓项目中的class文件的命令格式为:
javac -encoding <源文件使用的编码格式> -target <VM版本> -bootclasspath <覆盖引导类文件的位置> -d <指定放置生成的类文件的位置> <需要编译的java文件, 格式是: file1, file2>
下面举一个例子,直接编译xiaoxuetu这个Android项目的java文件:
javac -encoding UTF-8 -source 1.6 -target 1.6 -bootclasspath D:\Java\adt-bundle-windows\sdk\platforms\android-10\android.jar -d E:\Workspaces\android\xiaoxuetu\xbin E:\Workspaces\android\xiaoxuetu\src\com\xiaoxuetu\*.java E:\Workspaces\android\xiaoxuetu\gen\com\xiaoxu
etu\*.java
终端的执行结果是:
aaarticlea/png;base64,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" alt="" />
我们在来看看xbin目录下,编译好的class文件都存在了:
aaarticlea/png;base64,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" alt="" />
6.使用dex编译Android应用
6.1 使用方法
相信大家都知道,在Android平台中,使用的是并没有遵循JVM规范的Dalvik虚拟机,他并不直接运行java二进制文件,而是运行它特有的*.dex文件,因此我们需要通过DX工具将Android应用的*.class文件转换为*.dex文件 .
dex工具的常用命令格式如下
dx --dex --dump-to <需要编译到的路径> --core-library <需要编译的java文件所在的路径>
注意:<需要编译到的路径> 和 <需要编译的java文件所在的路径> 必须是全路径,否则他是以dx.bat所在的路径为相对路径进行查找和编译的
下面举一个例子,假设我要把前面编译的class文件转换成*.dex文件,需要执行命令:
dx --dex --dump-to E:\Workspaces\android\xiaoxuetu\xbin\classes.dex --core-library E:\Workspaces\android\xiaoxuetu\xbin
终端的执行结果:
aaarticlea/png;base64,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" alt="" />
再到E:\Workspaces\android\xiaoxuetu\xbin目录下我们就会找到classes.dex这个文件出来了。
6.2 常见的问题
问题1 : 在编译过程中,总是出现以下问题:
aaarticlea/png;base64,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" alt="" />
原因:这是因为我们写了相对路径,假设dx.bat所在的路径是D:\android_dev_tools/platform_tools下,那么在编译的时候,它将会到 D:\android_dev_tools/platform_tools 目录去寻找xbin文件夹,所以找不到xbin文件夹
解决方法:像示例中那样使用绝对路径
问题2:在编译过程中,总是出现以下问题:
aaarticlea/png;base64,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" alt="" />
原因:经过谷歌,在Stackflow的解释为:
Your classes need to be compiled with jdk 5 or 6. You are probably using 7. If that doesn't work, you might also need to make sure that every single class is compiled right, even if in different projects. Solved my problem here.
解决方法:在javac编译的时候,通过source和target指定版本为1.6,详情见示例。
7.apkbuilder
这个工具用于将各种资源打包成一个Android应用。它的使用方法是:
Usage: apkbuilder <out archive> [-v][-u][-storetype STORE_TYPE] [-z inputzip]
[-f inputfile] [-rf input-folder] [-rj -input-path] -v Verbose.
-d Debug Mode: Includes debug files in the APK file.
-u Creates an unsigned package.
-storetype Forces the KeyStore type. If ommited the default is used. -z Followed by the path to a zip archive.
Adds the content of the application package. -f Followed by the path to a file.
Adds the file to the application package. -rf Followed by the path to a source folder.
Adds the java resources found in that folder to the application
package, while keeping their path relative to the source folder. -rj Followed by the path to a jar file or a folder containing
jar files.
Adds the java resources found in the jar file(s) to the application
package. -nf Followed by the root folder containing native libraries to
include in the application package.
下面讲解下常用的命令吧:
-rf 参照源文件的目录的结构
-u 创建一个没有签名的包
-z 将某个压缩文件添加到包中
-f 将某个文件添加到保重
那么常用的apkbuilder命令格式就是:
apkbuilder <APK输出路径> -u -z <需要添加的压缩资源包> -f <需要添加的文件> -rf <源文件所在的目录>
注意:<需要编译到的路径> 和 <需要编译的java文件所在的路径> 必须是全路径
下面举个例子吧:
apkbuilder E:\Workspaces\android\xiaoxuetu\xbin\xiaoxuetu.apk -u -z E:\Workspaces\android\xiaoxuetu\xbin\xiaoxuetu.ap_ -f E:\Workspaces\android\xiaoxuetu\xbin\classes.dex -rf E:\Workspaces\android\xiaoxuetu\src
终端的执行结果是:
aaarticlea/png;base64,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" alt="" />
同时在E:\Workspaces\android\xiaoxuetu\xbin\我们可以打包好的apk文件了。
注意:本文主要是讲解打包会用到的常用命令的使用方法,并不是说根据这些步骤就能够打出一个可用的包,具体一个详细的打包流程,在后续的博文中会讲到,敬请期待。谢谢。
Android学习第三天-打包常用命令的更多相关文章
- Android学习第三天-签名常用命令
由于怕篇幅过长,所以把这个打包常用命令分开成两篇博文来进行讲解,下面我们直接进入主题吧. 8.keytool 这是我们JDK自带的密钥和证书管理工具 命令: -certreq 生成证书请求 -chan ...
- hadoop学习(三)HDFS常用命令以及java操作HDFS
一.HDFS的常用命令 1.查看根目录下的信息:./hadoop dfs -ls 2.查看根目录下的in目录中的内容:./hadoop dfs -ls in或者./hadoop dfs -ls ./i ...
- ROS大型工程学习(三) ROS常用命令行
1.rosbag 对ros包进行操作的命令. (1)录制包: rosbag record -a //录制数据包,所有topic都录制 rosbag record /topic_name1 /topic ...
- Linux学习笔记 一 第三章 Linux常用命令
第三章Linux常用命令 一.文件处理命令 1.命令格式 2.目录处理命令:ls 3.目录处理命令:mkdir 4.文件处理命令: touch
- linux基础学习之软件安装以及常用命令
linux基础学习之软件安装以及常用命令 调用中央仓库: yum install wget 然后下载nodejs: wget https://nodejs.org/dist/v10.14.2/node ...
- 三、Android学习第三天——Activity的布局初步介绍(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 三.Android学习第三天——Activity的布局初步介绍 今天总结下 ...
- redis学习-列表(list)常用命令
redis学习-列表(list)常用命令 lpush:从列表左侧头部添加数据 rpush:从右侧尾部添加数据 lpop:从给左侧头部取出一个元素 rpop:从右侧尾部取出一个元素 lrange:取 ...
- 风炫安全web安全学习第三十一节课 命令执行以及代码执行演示
风炫安全web安全学习第三十一节课 命令执行以及代码执行演示 参考: http://blog.evalshell.com/2020/12/20/风炫安全web安全学习第三十一节课-命令执行以及代/
- 风炫安全web安全学习第三十节课 命令执行&代码执行基础
风炫安全web安全学习第三十节课 命令执行&代码执行基础 代码执行&命令执行 RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统. 远程系统命令执行 ...
随机推荐
- 用 IIS 实现请求转发
最近部门要开发一个简单的APP,部分数据是现有项目已经存在的,为了方便维护,希望只提供一个交互的入口,并且协议的规则不变. 基于这个需求,有两套解决方案: 1.用代码将现有的api封装一层,对请求数据 ...
- Spring的事务管理
事务 事务:是逻辑上一组操作,要么全都成功,要么全都失败. 事务特性(ACID) 原子性:事务不可分割 一致性:事务执行的前后,数据完整性保持一致 隔离性:一个事务执行的时候,不应该受到其他事务的打扰 ...
- python/matplotlib库的安装
- Python 学习手册, char 14 - 15
Char 14 迭代器和解析器 可迭代的 : 支持iter的一个对象 迭代器 : iter 所返回的一个支持next(I)的对象 Python迭代工具会自动调用这些函数,我们也可以手动地应用迭代协议 ...
- 主机信息收集工具DMitry
主机信息收集工具DMitry DMitry是Kali Linux内置的一款信息收集工具.它的目标主要是Web类主机.它不仅通过主动查询.端口扫描方式,还借助第三方网站和搜索引擎获取信息. 它搜集的 ...
- 通过 listboxitem 查找属于listbox第几条数据
public override System.Windows.Style SelectStyle(object item, System.Windows.DependencyObject contai ...
- 布局包含Image和Title的UIButton
UIButton中的titleEdgeInsets和imageEdgeInsets可以管理button中image和title的布局. 如果对其理解不够深入,用纯数字进行布局管理,经过不断的调试,还是 ...
- LeetCode 344. Reverse String
Problem: Write a function that takes a string as input and returns the string reversed. Example: Giv ...
- C# DataGridView绑定数据源
第一种: DataSet ds=new DataSet (); ]; 第二种: DataTable dt=new DataTable(); this.dataGridView1.DataSource= ...
- 对《分享一下自己用c++写的小地图》一文的补充
在写完上一篇文章后,发现了一个问题: 那就是编写的插件无法实时预览. 在学习了Slate之后,我找到了方法: 重写SynchronizeProperties函数 头文件中添加: #if WITH_ED ...