码迷,mamicode.com
首页 > 移动开发 > 详细

Android编译文件——R文件

时间:2020-04-20 13:54:16      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:dex文件   规则   image   http   cpp   apk   进制   等等   tab   

R文件:

  当 Android 应用程序被编译,会自动生成一个 R 类,其中包含了所有 res/ 目录下资源的 ID。包括布局文件layout,资源文件,图片(values下所有文件)等。

  在写java代码需要用这些资源的时候,你可以使用 R 类,通过子类+资源名或者直接使用资源 ID 来访问资源。

  R.java文件是活动的Java文件,如MainActivity.java的和资源如strings.xml之间的胶水

R.java文件中资源ID的含义:

  资源:layout、string、drawable、raw、style、theme等等

  这些资源都会被赋予独一无二的ID即资源索引来方便系统访问。这些资源索引由Android的工具AAPT(Android Asset Packing Tool)生成的八位十六进制整数型。 

            技术图片

        分配resource id的主要逻辑实现是在framework/base/tools/aapt/Resource.cpp 和 ResourceTable.cpp

  这些资源会在编译过程中被打包进APK中(res文件夹)或者被打包成独立的资源APK包。

  添加资源的命名规则:资源文件只能以小写字母和下划线做首字母,随后的名字中只能出现 [a-z0-9_.] 这些字符,否则R.java文件不会自动更新。

 

使用:

  .java代码:R.xxx(类型).xxx(id)

  XML代码:通过@xxx即可得到

 

重新编译生成R文件:

  生成smali文件夹->生成R文件->编译R.java文件->生成的R文件的jar->生成 dex文件->生成smali文件->替换smali文件->编译apk,签名安装测试

 

Android编译文件——R文件

标签:dex文件   规则   image   http   cpp   apk   进制   等等   tab   

原文地址:https://www.cnblogs.com/hugeba/p/12737131.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!