首先说一下关于虚拟机的技巧,以前我也总是感觉电脑运行虚拟机的时候老是卡,后来在看课堂直播时看到老师用的是Total Control,在网上搜“Total Control”就能能找到,比系统自带SDK运行快捷和方便多了,而且一点都不卡。
下面的这些,都是我平常遇到的一些小问题以及总结。
当consle(控制台)出现
Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
一般都是指Android版本的问题,我们便右键单击项目点击Properties(版权)改变其版本即可
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
当consle(控制台)出现
Failed to install (项目名).apk on device 'emulator-5554(模拟端口自动分配的)': timeout
Launch canceled!
一般是指超时问题,解决方法是点击Windows-->Preferences-->Android-->DDMS改变时间(一般系统默认是5000,单位ms)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
当emulator(模拟器)运行提示错误: the user data image is used by another emulator. Aborting
一般都是非正常关闭导致的,我们只需删除android-sdk-windows/.android/avd/对于版本/下的以.lock结尾的文件夹就行
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在我们在导入文件(Window-->Show View-->Other-->File Explorer-->mnt-->sdcard-->click右上角import File)时
当consle(控制台)出现
transfer error: Read-only file system
Failed to push selection: Read-only file system
一般是指AndroidManifest.xml权限未获取,我们便可用以下代码获取写入数据权限:
<!--往sdcard中写入数据的权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
</uses-permission>
<!--在sdcard中创建/删除文件的权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS">
</uses-permission>
然后在res中新建一个raw文件,即可复制粘贴导入文件
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
若consle(控制台)出现:Invalid file name: must contain only [a-z0-9_.]
即指你导入的文件名称有错误,文件中格式应为小写。不能有中文,不能是大写,不能有数字,单词间隔只能用下划线。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
这种情况是经常遇到的,当模拟器运行时,consle(控制台)提示出现这样的错误:
ActivityManager: Warning: Activity not started, its current task has been brought to the front
这是由于模拟器之前运行了一个程序(Activity仍在后台运行),并不是返回菜单就会退出,所以我们只需清理一下就行了:Project-->Clean
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
当调试过程中出现:Sending jdwp tracking request failed!说明你程序发送请求的JDWP跟踪失败!其实这里的意思是你没有权限。那么只要你在AndroidManifest.xml文件中添加权限就好了。
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
图示:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
当出现这种情况时:
则只要改变一下属性就可以了:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
An error has occurred. See error log for more details. java.lang.NullPointerException如图所示:
这是在说明项目空指针异常,我在网上查一些方法他们说的两种方法分别是:
1.在"开始"-->"运行"---->"cmd"进入命令提示行后,再进入myeclipse安装目录的eclipse文件夹,
然后输入eclipse -clean即可
2.找到eclipse安装目录的configuration文件夹删除除config.ini以外的所有文件,重启eclipse。
然而我只试了第一种方法,发现并没有用。后来我还是直接重启一下eclipse就可以了。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
当控制台提示Unable to resolve target 'android-xx'是说明Android版本不对,我们只需改一下版本即可:
打开project.properties然后修改 Project target.即可。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
If reference to indicate the source:冷的锋刃