`
byandby
  • 浏览: 1695683 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

已编译和未编译的Android资源

阅读更多
  Android主要通过两种文件类型来支持资源:XML文件和原始文件(包括图像、音频和视频)。甚至在XML文件内部,有时也可以看到资源被定义为XML文件内部的值(例如字符串),有时XML文件整体就是一个资源(比如布局资源文件)。

   XML文件集中的另一个特征是,可以找到两种文件类型:一种编译为二进制文件,另一种按原样复制到设备。到目前为止所提供的示例(字符串资源XML 文件 和 布局资源XML 文件)都编译为二进制文件,然后再包含到可安装的包中。这些XML文件具有预定义的格式,其中XML 节点被转换为ID。

   也可以选择这样一些XML 文件,它们具有自由的格式结构,不会被解释,也不会生成资源ID。然而,你希望将它们编译为二进制格式,还希望它们容易本地化。为此,可以将这些XML文件放到/res/xml/子目录中,以将它们编译为二进制格式。但是如果将文件(包括XML文件)放在/res/raw/目录下,它们将不会编译为二进制格式。必须使用明确基于流式传输来读取这些文件。音频和视频文件属于这一类别。
   
    下面是/res文件夹中一些重要的子目录和它们保存的资源类型。
     anim:已编译的动画文件。
     drawable:位图。
     layout:UI/视图定义
     values:数组、颜色、尺寸、字符串和样式。
     xml:已编译的任意XML文件。
     raw:未编译的原始文件。

   AAPT中的资源编译器会编译除raw资源以外的所有资源,并将它们全部放到最终的.apk文件中。此文件包含Android应用程序的代码和资源,相当于Java中的 .jar文件("apk"代表“Android Package”)。 .apk文件将安装到设备上。

  尽管XML资源解析程序支持hello-string 这样的资源名称,但在R.java中将会看到一个编译时错误。通过将资源重命名为hello_string (将连字符替换为下划线),可以解决此问题。
   
分享到:
评论

相关推荐

    android反编译资源获取

    总的来说,APKTool是Android开发者和逆向工程师的利器,它提供了强大的资源文件提取和反编译能力,帮助我们更好地理解和修改Android应用。然而,正确地使用这些工具并理解其背后的法律和道德约束,是每个专业开发者...

    Android反编译工具包(最完整的Android反编译工具包)

    标题中的“Android反编译工具包(最完整的Android反编译工具包)”表明这是一个集合了多种工具的资源包,用于帮助开发者和安全研究人员进行APK的反编译工作。 首先,让我们来了解一下反编译的基本概念。反编译是将已...

    Android 反编译 回编译神器

    在Android开发过程中,有时我们需要对已有的APK文件进行反编译和回编译操作,以便于学习、分析或修改其源代码。标题提到的"Android 反编译 回编译神器"是一款专为此目的设计的工具,它简化了原本繁琐的命令行操作,...

    Android 反编译-全部工具包

    1. **Apktool**:Apktool是一款强大的Android反编译工具,它可以解压APK文件,解析资源文件,重新构建APK,并支持对Android资源进行反编译和编译。Apktool能够帮助开发者查看XML布局文件、图片资源以及字符串资源,...

    android反编译工具

    这些工具可以帮助开发者、安全研究人员或者逆向工程师理解已编译的Android应用程序的工作原理。下面我们将详细探讨一些常用的Android反编译工具及其应用。 1. **Apktool**:Apktool是最常见的Android反编译工具之一...

    Android反编译软件 安卓反编译 Android APK反编译详解

    反编译就是将这些编译后的二进制文件还原成人类可读的源代码和资源文件,这有助于开发者学习其他应用的设计思路,查找安全漏洞,或者对现有应用进行修改。 **一、反编译的原因** 1. **学习与研究**:通过反编译,...

    Android反编译工具

    反编译Android应用的过程通常包括以下几个步骤: 1. **提取APK**:首先,我们需要从设备或Google Play等平台下载APK文件。 2. **解压APK**:使用像WinRAR这样的工具解压APK,可以看到XML配置文件、资源文件和.dex...

    Android交叉编译环境&Iperf3;.0源码编译

    总结,Android交叉编译iperf3.0涉及到多个环节,包括安装环境、配置编译选项、编译源码、生成动态库以及打包和测试。每个步骤都需要细心操作,确保所有依赖项正确无误。希望这个详尽的指南能帮助你成功编译iperf3,...

    android apk 反编译java文件对应的资源批量修改(更改为R.java文件中的R.string.name格式)

    Android的apk文件反编译后,甚多的资源和java文件无法对应,java文件中引用的资源id变成十进制数字。本文将反编译apk的java文件和资源文件重新关联引用对应,使得java文件能准确无误地重新引用资源文件。 (1)将反...

    gmssl 3.0 - android 编译工程

    在这个编译工程中,我们将深入探讨如何在 Android 环境下构建和集成 GMSSL 3.0 库,以便为 Android 应用程序提供安全的网络通信功能。 首先,要理解 GMSSL 3.0 的核心功能,它主要提供了加密和解密、数字签名、密钥...

    android.bp动态编译文档

    动态编译是一种优化构建过程的方法,它只编译必要的源代码,从而节省时间和资源。在`Android.bp`中,我们可以利用条件语句和变量来实现这一目标。下面我们将分步骤解析如何进行动态编译。 1. **理解Android.bp文件...

    ffmpeg6.0 android 编译库

    它为 Android 开发者提供了强大的多媒体处理能力,特别是对于那些需要原生处理视频和音频的应用程序来说,这是一个非常有价值的资源。开发者可以利用这个库来实现高效、低延迟的视频录制、音频捕获以及多媒体文件的...

    Android Studio编译过程太慢的解决方法

    1. **减少不必要的资源加载**:确保只加载和编译真正需要的资源。例如,可以使用资源过滤功能(Resource Filtering)来排除不需要的资源文件。 2. **使用增量构建**:对于大型项目,启用增量构建(Incremental ...

    android反编译xml、layout

    - **框架支持**: `apktool`可以处理依赖于Android Framework的APK,它会下载并解析对应的framework-res.apk,以便正确解析和反编译应用的资源。 总的来说,`apktool`是Android开发者和安全研究人员的得力助手,它...

    Android项目编译系统

    总结而言,Android项目的编译系统是一个复杂的工程,它不仅包括了传统的Java编译流程,还整合了资源处理和C/C++编译等多种技术。开发者需要掌握基本的编译原理,熟悉Makefile的编写规则,并通过make等命令来驱动整个...

    android P android9源码编译.ipr.iml文件

    需要注意的是,编译Android源码可能需要大量的计算资源,包括内存和磁盘空间。此外,由于源码的复杂性,可能需要解决依赖问题、编译错误或配置问题。熟悉Android的构建系统,如`build.gradle`文件和`Android.mk`文件...

    buildroot静态编译Android平台程序

    本文将详细介绍如何使用Buildroot静态编译Android平台上的应用程序,如nginx或mosquitto等。 首先,理解静态编译与动态编译的区别。动态编译的程序在运行时依赖于系统中的动态链接库,如果库版本不匹配,就会出现...

    android Qt 编译

    编译过程中,Qt会生成一个Android项目结构,包括源代码、资源和配置文件。 4. **生成APK**:编译成功后,你需要使用Android SDK的`androiddeployqt`工具将Qt项目打包成APK。在命令行中,导航到项目目录的`release`...

    android编译系统分析.pdf

    "Android编译系统分析" Android编译系统分析是Android系统中一个非常重要的...了解Android编译系统的工作原理和组件可以帮助开发者更好地理解Android应用程序的编译和构建过程,并提高编译速度和生成的APK文件大小。

Global site tag (gtag.js) - Google Analytics