添加库项目时android R.java到资源布局的映射

添加库项目时android R.java到资源布局的映射,android,r.java-file,Android,R.java File,我在大学里对我的问题做了一些研究 我注意到,当一个库项目添加到任何android项目中时,都会创建两个R.java文件 project.R.java public static final class layout { public static int capture=0x7f030000; public static int main=0x7f030001; } lib.R.java public static final class layout { publ

我在大学里对我的问题做了一些研究

我注意到,当一个库项目添加到任何android项目中时,都会创建两个R.java文件

project.R.java

 public static final class layout {
    public static int capture=0x7f030000;
    public static int main=0x7f030001;
}
lib.R.java

public static final class layout {
    public static final int add=0x7f030000;
    public static final int capture=0x7f030001;
    public static final int main=0x7f030002;
}
这个被设置为library的项目有自己的R.java

 public static final class layout {
    public static int capture=0x7f030000;
    public static int main=0x7f030001;
}
示例库只有一个活动,我从我的应用程序开始,这个活动设置主布局。 现在,如果我们看到R.java中main的id在我的应用程序和库项目中是不同的。我试着从库中打印id的值,它给出的0x7f030002是我的应用程序R.java文件中的值

现在,我的应用程序没有主布局,在库中,当我将内容设置为smain时,其设置为main.xml from library project!! 如果我将主布局添加到我的应用程序项目中,库会将此主布局设置为其布局

Ie main的id取自我的应用程序的R.java,该id与库中main的id不同,但布局是从库中正确选择的

这是怎么发生的 请帮忙

我的应用程序活动:

import com.idg.test.lib.TestLibActivity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;

public class TestProjectActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    Log.i("starting","oncraete main id "+ R.layout.main);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.add);
    startActivity(new Intent(this,TestLibActivity.class));

}
}

lib活动:

    import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class TestLibActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.i("Library","Library main id" +R.layout.main );
    setContentView(R.layout.main);
}
}

来自:

构建依赖于库项目的应用程序时 SDK工具将库编译成一个临时JAR文件,并在中使用它 主项目,然后使用结果生成.apk。万一 其中,在应用程序和 库中声明的资源,这些工具确保 应用程序获得优先级,并且库项目中的资源 未编译到application.apk中。这是你的申请 使用或重新定义任何资源行为或 在任何库中定义的值

希望它能回答您的问题

来自:

构建依赖于库项目的应用程序时 SDK工具将库编译成一个临时JAR文件,并在中使用它 主项目,然后使用结果生成.apk。万一 其中,在应用程序和 库中声明的资源,这些工具确保 应用程序获得优先级,并且库项目中的资源 未编译到application.apk中。这是你的申请 使用或重新定义任何资源行为或 在任何库中定义的值


希望它能回答你的问题

我想我以前见过这种情况。你能把你要导入的内容包括在你的课堂上吗?我已经把导入内容添加到我的课堂上了。我没有具体导入任何R.java文件。我想我以前见过这种情况。你能把你要导入的内容包括在你的课堂上吗?我已经把导入内容添加到我的课堂上了。我没有导入任何R.java文件。这回答了我的问题。你能帮我照看一下吗。在这里,我得到了一个不同但相关的问题。解决方案是什么?非常感谢。这回答了我的问题。你能帮我照看一下吗。在这里,我得到了一个不同但相关的问题:解决方案是什么?