android常见错误汇总

时间:2021-03-13 04:41:28
1、Unable to resolve target 'android-2'

安装低版本的api,再default.properties 这个文件中把target=android-2 改成 target=android-7终于就没有问题了。

2、Invalid start tag LinearLayout
main.xml放错文件夹了,应该在\res\layout下。

3、INSTALL_FAILED_INSUFFICIENT_STORAGE
原因:SD卡内存容量不够

法一:在下图的“Additional Emulator Command Line Options”中加上“-partition-size 128”



法二:启动模拟器,然后进入菜单

settings->applications->mange applications-> select the application->select "unistall".

这样就能彻底删除了,然后再重新安装这个apk就没问题了

4、No Space left on device
清除C:\Users\Lanyan\AppData\Local\Temp\AndroidEmulator文件夹下的tmp文件

参考资料:http://hi.baidu.com/boderboder/blog/item/af2a81de31dc3f235982ddd8.html

5、Could not open the editor: Resource is out of sync with the file system
当右击default.properties打开时,出现下图错误:



解决方法:右击工程,Refresh一下就好了。

原因:Usually happens when some files are edited outside of eclipse。

6、Invalid project description


网上的解决方法是:在项目根目录下的.project文件中,找到<name>cms6.0</name> 将cms6.0改为和项目目录名称一致。

解决方法:我已经将该工程导入Eclipse,一个工程不能重复导入两次;或者把你的文件夹考的别的目录下然后重新导入即可。

原因:有两份相同的AndroidManifest.xml的描述性文件。

7、java.lang.SecurityException: Requires VIBRATE permission


解决方法:在AndroidManifest.xml中加上一句

“<uses-permission android:name="android.permission.VIBRATE"></uses-permission>”

原因:权限问题导致,因为使用了震动功能。

8、Activity not started, its current task has been brought to the front
解决方法:在Eclipse中,“project”-->“clean…”

原因:模拟器中还有东西在运行,也就是你要运行的activity已经有一个在模拟器中运行了不要以为你的模拟器退出到桌面了就没有东西在跑了。在你调试的时候异常关闭的程序有可能就有activity在运行。

9、ArrayAdapter requires the resource ID to be a TextView
问题描述:java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView而

adapt = new ArrayAdapter <String>(this, R.layout.main, infoList);

这句中布局main中的布局可能不是TextView对象。

adapt = new ArrayAdapter <String>(A1, A2, A3);

参数A2是一个“resource ID to be a TextView

解决方法:A2改为:android.R.layout.simple_spinner_dropdown_item

10、R.java文件突然不见了

解决方法:右键项目-->Build Project

原因:res/drawable下的文件名只能是在a~z、0~9之间字符组成。

10、ScrollView can host only one direct child。
解决方法:需要把所有的子元素放到一个LinearLayout内部或RelativeLayout等其他布局方式。

原因:主要是ScrollView内部只能有一个子元素,即不能并列两个子元素。

11、emulator: ERROR: the user data image is used by another emulator. aborting
没有正常关闭导致的,删除android-sdk-windows\.android\avd\对于版本\下的以.lock结尾的文件夹就行。

原因:.lock是加锁,如果程序崩溃等原因导致无法清除这些以.lock结尾的文件夹,就会出现这个问题,也就是这个avd的锁没有被释放,导致avd manager以为这个avd正在使用当中。

12、* daemon not running. starting it now *
ADB server didn't ACK

* failed to start daemon *

已经确认adb.exe的路径没有问题,重启了两次模拟器和eclipse还是不行,上网查了下资料~

解决办法:

(1)查看任务管理器,关闭所有adb.exe;(2)重启eclipse即可

13、android.content.res.resources notfoundexception
在Manifest.xml中加上:<uses-sdk android:minSdkVersion="5"/>,或者将5改成6,其他值也一样加1

14、Unable to instantiate activity ComponentInfo
解决方案:更改activity android:name="Acitivity"为activity android:name=".Acitivity"

原因:AndroidManifest.xml配置activity的路径时出错了

15、工程名上有红色感叹号
解决方案:右键项目名称BuildPath--->ConfigureBuildPaht...中,然后上面有几个选项卡找到Libraries中出现红色叉号的包为路径错误的包。到classpath中修改相应包的当前路径。然后回到eclipse中F5刷新工程。

问题原因:工程中classpath中指向的包路径错误。

解释:用myeclipse新建web工程,在工程目录下会生成一个.classpath配置文件,里面是你工程里面引用的jar的配置。这个.classpath对你的web工程没有什么影响,其实是给myeclipse识别的。你说的这种情况是因为.classpath文件里面配置引用了某个jar,但是实际上你的lib里面并没有这个jar所以才会有红色的提示。你不用拿.classpath文件和你的jar一个个去找,你现在打开MyEclipse右键单击你的web工程,找到BuildPath-->ConfigureBuildPaht...-->然后上面有几个选项卡找到Libraries。这里看到的就是你工程里面引用的所有的jar,看看是不是在某个jar图标上有个很小的黄色的感叹号?如果有的话就没错了,先选中这个jar,点击右边的Remove-->点击OK等待几秒,现在web工程上面的红色XX是不是没有了,哈哈。解释一下:黄色的感叹号的jar,表示.classpath配置文件引用了jar,但是实际上lib里面没有这个jar。

16、使用Intent时出现另一个活动未发现的异常(ActivityNotFoundException)
解决方案:在AndroidManifest.xml中再加一个<activity android:name=".Filelist" android:label="@string/app_name" />

17、Fail to connect to camera service
在AndroidManifest.xml中添加<uses-permission android:name="android.permission.CAMERA" />

如果还是不行

@Override

        public void surfaceDestroyed(SurfaceHolder holder) {

                // TODO Auto-generated method stub

                mCamera.stopPreview();

               mCamera.release();//加上这句,就OK!

                mCamera=null;



        }





18、android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
解决方法:将new AlertDialog.Builder(Context context)中的参数用Activity.this(Activity是你的Activity的名称)来填充就可以正确的创建一个Dialog了。

导致报这个错是在于new AlertDialog.Builder(mcontext),虽然这里的参数是AlertDialog.Builder(Context context)但我们不能使用getApplicationContext()获得的Context,而必须使用Activity,因为只有一个Activity才能添加一个窗体。

19、java.io.IOException: 您的主机中的软件中止了一个已建立的连接。
在任务管理器中终止adb服务,关闭手机调试或者模拟器,重启就好了。

http://hi.baidu.com/o%B0%D7%C9%AB%B5%C4%D4%C6/blog/item/024c3c6bfb6440c180cb4a3d.html

20、java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout
两个表示位置的属性不能同时使用,但是有些一起用又没有报异常,不太了解。

如android:layout_alignParentTop="true" android:layout_centerHorizontal="true"

21、No resource found that matches the given name
在相对布局中,若是用到android:layout_above属性,并且其后id之前没有出现过,那么需要这样写:android:layout_above="@+id/vidAdd_ButtonGroup",多加一个“+”。

22、@Override错误
Window->Preferences->Java->Compiler.

把Compiler compliance level的级别改成1.6,每个工程属性里只要默认设置就行了,不要设置specific.

23、PANIC: Could not open: C:\Users\Lanyan\.android/avd/SDK2.2.ini
添加android_sdk_home系统变量,其值为想要保存avd的目录,例如我放在D:\Program Files\android\avd下。

24、Activity has leaked window that was originally added
原因1:重写onKeyDown时,return super. onKeyDown(int keyCode, KeyEvent event)没有修改;

原因2:关闭Activity时,没有关闭AlertDialog造成的。

法一:将return super. onKeyDown(int keyCode, KeyEvent event)改为return false;

法二:@Override

protected void onPause()

{

    super.onPause();

       //关闭对话框

    AlertDialog.dismiss();

}

法三:AndroidManifest.xml中,在相应的<Activity>节点中添加

android:configChanges="orientation|keyboardHidden|navigation"

25、unable to instantiate application
解决方法1:在AndroidManifest.xml中的application里的android:name要去掉;

解决方法2:全局类或者变量私有;

解决方法3:package路径错误。

26、IllegalArgumentException 'Provider "gps" unknown"
locationManager.setTestProviderEnabled(LocationManager.GPS_PROVIDER, true);触发不了LocationManager

加入以下一段参数就好了:

mLocationManager.addTestProvider(LocationManager.GPS_PROVIDER,

"requiresNetwork" == "", "requiresSatellite" == "", "requiresCell" == "", "hasMonetaryCost" == "",

"supportsAltitude" == "", "supportsSpeed" == "",

"supportsBearing" == "", android.location.Criteria.POWER_LOW,

android.location.Criteria.ACCURACY_FINE);


-----------------------------------------------------------------------------------------------------------------------------------------------


1、The method find_and_modity_text_view() from the type TextActivity is never used locally
需要在onCreate()中声明
2、出现程序强制关闭,可能是由于没有声明ACTIVITY
3、如果按钮出现在本地不可能调用的错误,很可能是没有申明响应程序
  <?xml version="1.0" encoding="utf-8" ?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
  <EditText android:id="@+id/edit_text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="这里可以输入文字" />
  <Button android:id="@+id/get_edit_view_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="获取EditView的值" />
  </LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
  <EditText  
android:id="@+id/edit_text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="这里可以输入文字"
    />
  <Button  
android:id="@+id/get_edit_view_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="获得EdiView的值"
    />
</LinearLayout>
4、
Link all references for a local rename (does not change  references in other files)
main cannot be resolved or is not a field
刚遇到这个纠结的问题,代码都没错,R.layout.main总是在layout上游错误提示波浪线。在网上查了好多都是说clean一下工程 然后build工程就可以了,或者fix project properties 但是还是解决不了...
原因可能是添加文件,比如xml文件或者资源文件时,系统自动添加了import android.R;android.R是系统提供的资源,R是应用程序的资源。
这时候只要删除 import android.R;这条语句就可以了。
5、在向SD卡导入文件时,出现Failed to push the item(s)的错误,可以将时间延长,重启ECPLISE。eclipse->windwos->;Preferences->android->DDMS->ADB connection time out (ms)
6、Unhandled exception type FileNotFoundException,未经处理的IOException异常类型
回避或捕获这个异常就OK了
需要加try catch
try{……}catch (FileNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
8、关于“Cannot cast from View to CheckBox”的问题
很多同学在学习组件的时候,都喜欢把类名定义为该组件的名称,比如CheckBox和RadioButton之类的,这样就会导致控件包不能导入,以致不能实例化checkbox,同时也不能添加事件监听器,解决办法其实很简单,
只要rename类名就可以了,就是换个类名就OK了。
9、open文件时,注意提前设置权限
10、错误:Unknown host api.tudou.com, throwing UnknownHostException。
      解决办法:在AndroidManifest.xml中添加<uses-permission android:name="android.permission.INTERNET" />
11、Unable to find explicit activity class  have you declared this activity in your AndroidManifest.xml?
     解决办法:在AndroidManifest.xml的application段添加声明:<activity android:name=".ActivityName" />,详情见:
                    http://*.com/questions/736571/using-intent-in-an-android-application-to-show-another-activity
12、ListActivity setContentView错误:
代码及相关xml如下:
main.xml:
<ListView android:id="@+id/list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:drawSelectorOnTop="false"/>
tudouPlayer.java:
public class tudouPlayer extends ListActivity implements OnClickListener {   
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}
编译不会报错,运行时,adb打出来的错误为:
E/AndroidRuntime(  701): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.java.tudouPlayer/com.java.tudouPlayer.tudouPlayer}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
解决办法:
将main.xml中,上面贴出来的那段改为(原因见注释):
        <!-- Here is the list. Since we are using a ListActivity, we
             have to call it "@android:id/list" so ListActivity will
             find it -->

        <ListView android:id="@android:id/list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:drawSelectorOnTop="false"/>
13、adb push错误
mksdcard 1024M sdcard1.iso
adb push android.jpg /sdcard/android.jpg
error:failed to copy 'android.jpg' to '/sdcard/android.jpg': Read-only file system
解决办法:
删除sdcard1.iso;
mksdcard 1024M sdcard
adb push android.jpg /sdcard/android.jpg