下了一个应用,应用里面有一个引用包 import android.speech.srec.Recognizer; 
Eclipse环境下,应用代码上有红叉,编译不过。
应用下载地址: http://download.csdn.net/source/2591401工程中,我们选了android2.2SDKSDK目录是:
E:\Program Files\android-sdk\platforms\android-8\sources\android\speech\srec,目录中,有以下这个源文件.
import android.speech.srec.Recognizer; 但在Eclipse工程中点击android.jar(2.2)时,文件展开时,看不到这个目录和这个文件.
 (我记得,我下载过androidSDK2.2的源码, SDK目录中的源码是不是我COPY进去的,我记不清了)
1. 为什么代码上有红叉,应用程序编译不过呢? 我应如何做?
    
2. 是不是要将源码重新生成android.jar? 我应如何做?3. android2.2SDK打不开,android2.3SDK 也打不开, 也不知下载的应用是在什么版本的SDK 下开发的.   android 应用的兼容性不会这样差吧?

解决方案 »

  1.   

    一) 点击红叉,新建一个包,把源代码复制进去.
    二)
    代码移植的一些情况:
    android低版本工程(如1.5)放到高版本环境中(如2.2)可能会上述错误,解决方法如下:
    1。 如果不修改android sdk版本,则使用project clean 命令作用于某工程即可。
           (该处理方式只是在高版本中兼容了低版本工程,未真正意义上的升级)
    2。 如果修改android sdk版本,则需要以下几个步骤:
           1)修改SDK
                 选择工程,build path --> configure build path ---> library 删除引用的低版本SDK,
                 然后add External JARs,选择高版本SDK,OK,保存
            2)修改classpath文件 
                 该文件可能存在该项: <classpathentry kind="lib"   path ="你所指定的高版本的地址"
                 把她修改成<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK" />
            3) 修改AndroidManifest.xml
                 在AndroidManifest.xml文件中,application标签后添加<uses-sdk android:minSdkVersion="3"></uses-sdk>
            4) 修改default.properties(很重要)
                  该文件最后一行(前面没用#的)target=android-3 该成target=android-8,保存。
            再看看你的工程和新建的android 2.2的工程结构就一样了。