mk错误:找不到符号

2020-06-17  本文已影响0人  duoduo7628

主要错误信息找不到符号

错误日志:

v6x/apps/aispeech/core_aistudy/src/com/noahedu/youyou/view/activity/AiSpeechBaseActivity.java:261: 错误: 找不到符号
            version = speechManager.getAiSpeechVersion();
                                   ^
  符号:   方法 getAiSpeechVersion()
  位置: 类型为AiSpeechManager的变量 speechManager
v6x/apps/aispeech/core_aistudy/src/com/noahedu/youyou/view/activity/AiSpeechBaseActivity.java:269: 错误: 找不到符号
            speechManager.startUpdateProductZip();
                         ^
  符号:   方法 startUpdateProductZip()
  位置: 类型为AiSpeechManager的变量 speechManager
v6x/apps/aispeech/noah_intelligentStudy/src/com/noahedu/youyou/view/activity/MainActivity.java:4442: 错误: 方法不会覆盖或实现超类型的方法
    @Override
    ^
v6x/apps/aispeech/noah_intelligentStudy/src/com/noahedu/youyou/view/activity/MainActivity.java:4473: 错误: 方法不会覆盖或实现超类型的方法
    @Override
    ^
v6x/apps/aispeech/noah_intelligentStudy/src/com/noahedu/youyou/view/fragment/setting/VersionIfonFragment.java:51: 错误: 找不到符号
        introText.setText("当前版本为:V_" + mSpeechManager.getAiSpeechVersion() + (SetttingUtil.isCamera800(getActivity()) ? "B" : "W"));
                                                     ^
  符号:   方法 getAiSpeechVersion()
  位置: 类型为AiSpeechManager的变量 mSpeechManager

p712/apps/PenWrite/PenWriteP712/noah_screenShotNote/src/com/noahedu/ssnote/note/NoteView.java:302: 错误: 找不到符号
        if (id == R.id.note_confirm) {
                      ^
  符号:   变量 note_confirm
  位置: 类 id
p712/apps/PenWrite/PenWriteP712/noah_screenShotNote/src/com/noahedu/ssnote/note/NoteView.java:305: 错误: 找不到符号
        } else if (id == R.id.note_cancel) {
                             ^
  符号:   变量 note_cancel
  位置: 类 id
p712/apps/PenWrite/PenWriteP712/noah_screenShotNote/src/com/noahedu/ssnote/note/NoteView.java:308: 错误: 找不到符号
        } else if (id == R.id.note_delete) {
                             ^
  符号:   变量 note_delete
  位置: 类 id
p712/apps/PenWrite/PenWriteP712/noah_screenShotNote/src/com/noahedu/ssnote/note/NoteView.java:311: 错误: 找不到符号
        } else if (id == R.id.note_top_area) {
                             ^
  符号:   变量 note_top_area
  位置: 类 id

解决:
此类错误主要分为两种
1.找不到方法
2.找不到资源(id theme string dimen等)

第一种:
就是那个类没有那个方法,添加方法就可以了。
需要注意的是 此类可能是一个公共库的类,本地添加了,
但是没有上传到library svn (比如 http://192.168.1.186/svn/p381/library),还是会报错。

也有可能是因为版本变化,该类或者该方法没有了,比如:import junit.framework.Assert;
在junit4.12之后,Assert就过时了,提供了TestCase来取代;import junit.framework.TestCase;
不使用也可以直接去掉

第二种:
多出现在多moudle项目中
资源可能不在默认路径 比如资源默认路径是:LOCAL_RESOURCE_DIR := res
但是资源可能存在 LOCAL_RESOURCE_DIR := core_connection/src/main/res \

所以要将所用到的资源都声明 添加到 LOCAL_RESOURCE_DIR 比如:
指定资源文件:

LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/noah_screenShotNote/res \
                      $(LOCAL_PATH)/noah_studynote/res \
                      $(LOCAL_PATH)/noah_copybook/res \
                      $(LOCAL_PATH)/noah_notepad/res \
                      $(LOCAL_PATH)/noah_penEntry/res \
                      $(LOCAL_PATH)/noah_penPicker/res \
                      $(LOCAL_PATH)/core_connection/src/main/res \
                      $(LOCAL_PATH)/penwrite/src/main/res \
                      $(LOCAL_PATH)/base_pro_common/src/main/res

注意:这样之后可能仍然提示找不到!(这很有可能是编译器的问题)
p712/apps/PenWrite/PenWriteP712/noah_screenShotNote/src/com/noahedu/ssnote/note/NoteView.java:302: 错误: 找不到符号
if (id == R.id.note_confirm) {
^
符号: 变量 note_confirm
位置: 类 id

解决方法: 采用改名的方式
1.全局查找 R.id.note_confirm 有没有其他地方定义了一样的 id,然后改个名字。
2.找到R.id.note_confirm所在的布局(我这里是note.xml),然后全局搜索note.xml。如果有相同的改成不同。

我这里就是有很多叫做note.xml的布局。



将note改个不一样的名字就好了

--来自 shaoquanwei share

上一篇下一篇

猜你喜欢

热点阅读