和尚我因为公司项目在小米市场上线时被拒,提示 apk 解析错误,需要用 aapt 解析查看安装包是否正常。以前还真的没有接触过 aapt 工具。 据了解,aapt 是 Android SDK 自带的工具,即 Android Asset Packaging Tool,是一个管理资源文件的工具 。看网上教程很简单,然而和尚在使用过程中却各种不能用。下面用 Mac 和 Windows 两个环境下尝试,不知各位有没有遇到这种情况。
Android SDK tools安装 下载连接: https://www.androiddevtools.cn 找到对应mac的版本下载安装即可 AAPT配置 #1. 进入根目录 cd ~ #2. 打开.bash_profile, 如果没有这个文件可以自己创建一个 open .bash_profile #3. 查看下adnroid sdk tools的版本 Jackeys-MacBook-Pro:~ jackey$ ls ~/Library/Android/sdk/build-tools 29.0.
朋友要查看一个已存在包的versionCode信息,在群里面询问,由于是已经存在的apk包,并且只需要其中的versionCode信息,笔者就给发了一段aapt命令:aapt dump badging <files.apk 下面针对aapt 命令做一下介绍,之前笔者也对一些常用adb命令也做过介绍:总结一些常用Android adb 命令,了解这些命令以后,可以更方便我们开发,提高开发效率。在这笔者在网上随便下载了一个app作为演示用。
AaptOptions ( build.gradle#android#aaptOptions 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.AaptOptions.html
配置 , cruncherEnabled 配置的作用是开启 png 图片优化检查 ,
在 " AS项目根目录/app/src/main " 目录下创建一个 " res2 " 目录 , 将该目录也作为资源目录 ,
一.环境要求 安装java 1.8 以上 命令行运行 java -version 返回版本大于1.8 如果没有,请安装java 1.8 二.下载与安装 下载apktool_x.x.x.jar到本地 官网下载或者 镜像下载 重命名下载的apktool_x.x.x.jar,改名为apktool.jar 下载脚本并配置 Windows 写个bat脚本放在同一目录下 @echo off java -jar apktool.jar 两个文件放在同一目录,后将该目录添加到您的环境变量系统PATH变量中
文章目录 一、AAPT2 资源编译工具 二、resources.arsc 资源映射表 工作机制 三、参考资料 一、AAPT2 资源编译工具 ---- 资源的编译 , 生成 R.java 文件 , 都是
整片文章是围绕 tinker 的 TinkerResourceIdTask 里的知识点进行扩展的。
上两期我们讲了 APK 里面 Dex 的东西,明白了 Dex 只是 classes 的某种打包形式,我们暂时不拘泥于细节,关于代码的部分就告一段落。我们知道除了代码,一个应用里,资源占用了相当大的一部分。
概述 我们知道在Android的打包过程中,有一个步骤是压缩,也是为了减少apk包的大小,其中在压缩的过程中,很大一部分就是对资源的压缩,除了系统的压缩方案之外,我们今天讲另外两种压缩方案:微信方案和美团方案 微信的方案是通过修改aapt在处理资源文件相关的源码达到资源文件的替换;而后者指通过直接修改resources.arsc文件达到资源文件混淆的目的。相比之下,微信的方案更加优秀。 微信资源混淆方案 微信中的资源混淆工具主要为了混淆资源ID长度(例如将res/drawable/welcome.png混淆
概述 我们知道在Android的打包过程中,有一个步骤是压缩,也是为了减少apk包的大小,其中在压缩的过程中,很大一部分就是对资源的压缩,除了系统的压缩方案之外,我们今天讲另外两种压缩方案:微信方案和美团方案 微信的方案是通过修改aapt在处理资源文件相关的源码达到资源文件的替换;而后者指通过直接修改resources.arsc文件达到资源文件混淆的目的。相比之下,微信的方案更加优秀。 微信资源混淆方案 微信中的资源混淆工具主要为了混淆资源ID长度(例如将res/drawable/welcome.png
aapt(Android Asset Packaging Tool)是Android系统提供的一个打包Android应用资源的命令行工具。它可以用来列出、查看和处理apk包中的资源文件。掌握aapt命令可以帮助我们更好地理解Android应用的结构,以及修改已有的apk。
Android开发或者联调中经常会使用一些工具,今天就简单总结一下。 adb 开发调试第一神器,具体的在这里不做太多介绍,之前专门写过两篇文章。 下载地址: 无需安装,位于Android SDK的platform-tools文件夹下,增加环境变量即可使用 adb 基础用法 介绍一些常用的adb命令,例如install、push这些:点击查看 adb 进阶用法 介绍一些相对复杂的adb命令,主要是adb shell相关的:点击查看 adb shell input 重点介绍adb shell input的用法,
概念 在Android.mk中有LOCAL_AAPT_FLAGS配置项,在gradle中也有aaptOptions,那么aapt到底是干什么的呢? aapt即Android Asset Packaging Tool(Android 打包工具),在SDK的build-tools目录下。我们可以查 看,创建, 更新ZIP格式的文档附件(zip, jar, apk)。也可将资源文件编译成二进制文件,尽管你可能没有直接使用过aapt工具,但是build scripts和IDE插件会使用这个工具打包apk文
前言 今天给大家推荐的是『巴掌』的投稿,讲解了一个Gradle插件的实现方法和原理,对于想深入了解Android打包编译,gradle插件实现的开发者来说,绝对是一篇不错的案例。 Mess介绍
Android Studio升级到3.0后,有不少的改动和新特性,先贴出官方的迁移说明。
Android Studio从3.0版本新增了许多功能,当然首当其冲就是从3.0版本新增了对 Kotlin 开发语言的支持,除此之外还有其他一些新功能,例如:Android Profiler (其中包含了: CPU Profiler、Memory Profiler、Network Profiler ),APK Debugger,Device File Explorer,Java 8 Language Features等。
在Android Studio中,我们几乎每天都在用run,generate APK等功能。
现在应用市场的要求越来越高了,而且随着Android版本的升级,官方对于权限这部分的管控越来越严格,因此我们秉着最少可用原则,绝不向用户申请额外的权限,但由于团队规模越来越大,很难保证某个模块没有新增权限,所以我们需要一个工具可以简单的给出每个版本应用的权限变化信息。
原来的项目用到了kotlin以及kapt,升级到了androidstudio 3.0报了上面的错误,需要在项目的gradle.properties中添加:
aapt l -a app-release-unsigned.apk>l.txt 文件
1、首先,在系统变量里添加变量名为:ANDROID_HOME,值为:D:\android-sdk
转载地址http://blog.sina.com.cn/s/blog_5de73d0b0102yffd.html
在Android开发过程中,我们通过Gradle命令,启动一个构建任务,最终会生成构建产物“APK”文件。常规APK的构建流程如下:
简介: aapt即Android Asset Packaging Tool,我们可以在SDK的platform-tools目录下找到该工具。aapt可以查看、 创建、 更新ZIP格式的文档附件(zip, jar, apk)。 也可将资源文件编译成二进制文件,尽管你可能没有直接使用过aapt工具,但是build scripts和IDE插件会使用这个工具打包apk文件构成一个Android 应用程序。 使用: aapt l[ist]:列出资源压缩包里的内容。 aapt d[ump]:查看APK包内指定的内容。
getResource传入R.资源名称,通过资源名称可以找到对应的资源ID(通过R.java文件保证),之后AssetManager通过资源ID找到对应的资源文件名称(通过arsc文件保证)
在使用AS开发安卓应用程序的时候经常会遇到Gradle build running一直在运行甚至卡死的情况,解决方法如下:
前言 Ant是历史比较悠久的一个自动化构建工具,Android开发者可以通过它来实现自动化构建,也可以实现多渠道打包,关于apk打包的方式一般有Ant、Python、Gradle三种,这三种打包方式都各自有优点和缺点,本篇博文先给大家介绍如何使用Ant来实现自动构建和多渠道发布。 开发环境 Window7 Ant jdk android sdk mac系统下所需要的运行环境也是类似的,我们都需要配置Ant、jdk、sdk的环境变量,我们可以看一下window下是环境变量配了些什么: ANT_HOME : D
Android系统定义了一套通用资源,这些资源可以被应用程序引用。例如,我们在XML布局文件中指定一个LinearLayout的android:orientation属性的值为“vertical”时,这个“vertical”实际上就是在系统资源包里面定义的一个值。
1.grade配置Error: Could not find com.android.tools.build:gradle:2.2.1.
这几天谷歌推出了as3.0的正式版,相信大家都进行更新了,然后对3.0的新特性也有过一些了解,最后磨刀霍霍开始宰杀,然鹅却一不小心就开始了排坑之路。
adb devices # 获取设备列表 adb connent 127.0.0.1:62001 # 一般模拟器都是127 adb install apkname # 可以直接使用adb去安装软件 adb shell # 直接进入到Android系统
$ gradle packageDebug --stacktrace error: top-left corner pixel must be either opaque white or transparent.
其中,文件名.tar.gz是你要解压的.tar.gz文件的名称。解压命令选项的含义如下:
在 mergeRes 和 processRes 任务之间插入 WebP 压缩任务,如下图所示:
第一步:aapt。为res目录下的资源生成R.java文件,同时为AndroidManifest.xml生成Manifest.java文件
本文是对Google官方文档 Reduce APK Size 的翻译 用户经常会避免下载看起来体积较大的应用,特别是在不稳定的2G、3G网络或者在以字节付费的网络。这篇文章描述了怎样减少你的APK大小,这会让更多的用户愿意下载你的应用。 理解APK的结构 在讨论怎样减少应用大小之前,先了解APK的结构是有用的。一个APK文件就是ZIP包,其中包含了组成你的应用的所有文件,比如Java类文件,资源文件,和一个包含被编译资源的文件。 一个APK包含了以下目录: META-INF/: 包含CERT.SF和CERT
Android中有个很恶心的潜规则,就是当assets或是raw目录下单个压缩文件大小超过1024K之后,编译期appt会去强行处理此文件,使得我们运行期读取的时候会收到一个
游戏出了版本之后,提供给渠道,有部分渠道会修改包名(当他们内部系统做出调整后,可能会改包名),这个时候我又需要知道包名。之前没办法,试图反编译apk,发现失败了。然后就安装apk到手机上,手机上再下载一个包查看软件,然后找到包名。
导言 Android App Bundle 是 Android 新推出的一种官方发布格式,可让您以更高效的方式开发和发布应用。企业微信基于 App Bundle 采用低入侵、业务代码基本零重构的技术方案,实现了全业务模块采用动态模块(dynamic feature)开发。最后展示并行编译方案,进一步加速持续集成。 一、项目背景 Android App Bundle 是 Android 新推出的一种官方发布格式,可让您以更高效的方式开发和发布应用。和国内开发者已经熟知的 Kotlin 开发语言、Androi
本文来自“天天P图攻城狮”公众号(ttpic_dev) 本文是对Google官方文档 Reduce APK Size 的翻译,查看英文原文(需要翻墙) 译者简介:damonxia(夏正冬),天天P图Android工程师 用户经常会避免下载看起来体积较大的应用,特别是在不稳定的2G、3G网络或者在以字节付费的网络。这篇文章描述了怎样减少你的APK大小,这会让更多的用户愿意下载你的应用。 理解APK的结构 在讨论怎样减少应用大小之前,先了解APK的结构是有用的。一个APK文件就是ZIP包,其中包含了组成你的应用
打开项目根目录gradle.properties文件,加上android.enableAapt2=false,关闭Aapt2编译
领取专属 10元无门槛券
手把手带您无忧上云