最近在学修改Android的源码,根据要有修改了Contacts的功能,我的源码是根据网上的方法导入的java工程,我在里面加了个layout,在java文件中加layout里的View的ID都出不来,我手动加上了。都是红叉叉,应该是R文件没有更新。用mmm packages/apps/Contacts/ 编译,报
符号: 变量 searchPadBtn
位置: 类 com.android.contacts.R.id
        mSearchPadBtn = (Button)findViewById(R.id.searchPadBtn);
                                                 ^
packages/apps/Contacts/src/com/android/contacts/TwelveKeyDialer.java:315: 找不到符号
要这么修改呢?求高人指点一二。

解决方案 »

  1.   

    都在,我源码导入后,没删除过资源文件。因为导入的是Java工程,R文件应该是不会自动生成。应该是编译时生成的吧,但是编译时出错,好像就是因为没更新R文件.
      

  2.   

    查看了一下源代码 315行是    楼主是不是写错了。。  你clean一下你的工程 感觉问题不大!!                                 String type = intent.getType();
                        if (People.CONTENT_ITEM_TYPE.equals(type)
                                || Phones.CONTENT_ITEM_TYPE.equals(type)) {
                            // Query the phone number
                            Cursor c = getContentResolver().query(intent.getData(),
                                    new String[] {PhonesColumns.NUMBER}, null, null, null);
                            if (c != null) {
                                if (c.moveToFirst()) {
                                    // Put the number into the input area
                                    setFormattedDigits(c.getString(0));
                                }
                                c.close();
      

  3.   

    我是在修改contacts。加了些代码。前些天打mmm packages/apps/Contacts 时会报错,今天我全删了,用以前备份的,再mmm packages/apps/Contacts/ 编译,在eclipse中刷新,出错消失。
    网上说R文件是通过mmm来生成,我前些天没成功可能是哪里被我搞坏了。
      

  4.   

    看看是不是自动导入了import android.R;删掉重新mm即可
      

  5.   

    删除gen文件夹,然后选择工程右键“build path”,看看Order and Export 选项卡,将该加的包加进来,包括android的包都购上后,clen文件,在build 项目。应该没问题的。
      

  6.   

    你肯定是导入了Android.R类,改成你修改后的R类库