添加库项目时android R.java到资源布局的映射
我在大学里对我的问题做了一些研究 我注意到,当一个库项目添加到任何android项目中时,都会创建两个R.java文件 project.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
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文件。这回答了我的问题。你能帮我照看一下吗。在这里,我得到了一个不同但相关的问题。解决方案是什么?非常感谢。这回答了我的问题。你能帮我照看一下吗。在这里,我得到了一个不同但相关的问题:解决方案是什么?