【问题标题】:Tons of items in R.java created by android studio由 android studio 创建的 R.java 中的大量项目
【发布时间】:2015-02-02 11:37:53
【问题描述】:

这是我第一次使用 Android Studio。但是当我用它创建我的第一个项目时,我发现在 R.java 中(位置是 app/build/source/r/debug/com.example.myapplication) 开头是这样的:

public final class R {
    public static final class anim {
        public static final int abc_fade_in = 0x7f040000;
        public static final int abc_fade_out = 0x7f040001;
        public static final int abc_slide_in_bottom = 0x7f040002;
        public static final int abc_slide_in_top = 0x7f040003;
        public static final int abc_slide_out_bottom = 0x7f040004;
        public static final int abc_slide_out_top = 0x7f040005;
    }
    public static final class attr {
        public static final int actionBarDivider = 0x7f01005a;
        public static final int actionBarItemBackground = 0x7f01005b;
        public static final int actionBarPopupTheme = 0x7f010054;
        public static final int actionBarSize = 0x7f010059;
        public static final int actionBarSplitStyle = 0x7f010056;
        public static final int actionBarStyle = 0x7f010055;
        public static final int actionBarTabBarStyle = 0x7f010050;
        public static final int actionBarTabStyle = 0x7f01004f;
        public static final int actionBarTabTextStyle = 0x7f010051;
        public static final int actionBarTheme = 0x7f010057;
        public static final int actionBarWidgetTheme = 0x7f010058;
        public static final int actionButtonStyle = 0x7f010072;
        public static final int actionDropDownStyle = 0x7f01006d;
        public static final int actionLayout = 0x7f01002c;
        public static final int actionMenuTextAppearance = 0x7f01005c;
        public static final int actionMenuTextColor = 0x7f01005d;
        public static final int actionModeBackground = 0x7f010060;
        public static final int actionModeCloseButtonStyle = 0x7f01005f;
        public static final int actionModeCloseDrawable = 0x7f010062;

它列出了很多项目,如果我把它们放到 Word 中,它们将以 11 种字体大小填满 38 页。我尝试删除它们,重建它们,重新启动,创建另一个项目,但它们仍然存在。我使用过 Eclipse,所以我知道它应该是什么样子。有什么问题?是 Gradle 还是 Android Studio 本身造成的?

【问题讨论】:

  • 这是由包含资源的库引起的,例如 appcompat-v7 ...

标签: android android-studio r.java-file


【解决方案1】:

删除、重建、重新启动不是您应该采取的正确方法。 这些行由 Android 支持库生成。

在您的 Android 项目中包含支持库被认为是应用程序开发人员的最佳做法,具体取决于 您的应用所针对的平台版本范围以及适用的 API 它用。使用库提供的功能可以帮助您改进 应用程序的外观,提高性能并拓宽 将您的应用程序覆盖到更多用户。如果您使用 Android 代码 模板工具,你会注意到所有的 Android 应用 默认情况下,模板包含一个或多个支持库。

[1]http://developer.android.com/tools/support-library/index.html

但是,我不明白你为什么要脱掉它们。

【讨论】:

  • 我是一名学生,我必须把它打印出来做作业:) 非常感谢。我将 min sdk 设置为与 target sdk 相同,然后消失。
【解决方案2】:

R.java 是 android AAPT(Android Asset Packaging Tool) 自动生成的文件。它有一定的意义,对于 res 文件夹中的每个资源,都会自动创建一个对应的静态整数字段。 所以不管你删除多少次,都会再次生成。 如果您想减少 R.java 文件中的行数,请尝试删除 res 文件夹中的一些值。

你拥有的布局文件、小部件和图像等资源越多,R.java 文件的长度就会增加。

我希望这能解答你的疑惑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-13
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多