IDEA在此前安装SDK成功后,导入相关程序运行,问题汇总如下(其中有些问题借鉴了网上其他人的解决方法):
1. 导入外部包HelloWord(疯狂Android讲义),在IDEA中选择Tools—>Android—>SDK Manager下启动SDK Manager一直报错,Cannot open file D:/android-sdk-windows/tools/android..经检查是local.properties文件中写入了目录地址,更改SDK目录地址为本机安装的目录地址即可。
2. main.xml错误提示:Rending Problems: Failed to load platform rendering library。
可能原因:SDK更新导致版本不兼容。
解决方法:右上角的图标之前为27,在SDK Manager中重新下载安装了AP 21的版本,选择较低版本的API,图像显示成功。
3. 运行程序报错如下:Failed to load dx.jar XXX(dx.jar是一个进行构建的工具,是用来将java虚拟机字节码转换为安卓虚拟机字节码的工具)
Error:Android Dex: [xxx] Failed to load dx.jar
Error:Android Dex: [xxx] java.lang.ClassNotFoundException: com.android.dx.command.DxConsole
Error:Android Dex: [xxx] at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
Error:Android Dex: [xxx] at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
Error:Android Dex: [xxx] at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
Error:Android Dex: [xxx] at org.jetbrains.android.compiler.tools.AndroidDxRunner.loadDex(AndroidDxRunner.java:80)
Error:Android Dex: [xxx] at org.jetbrains.android.compiler.tools.AndroidDxRunner.runDex(AndroidDxRunner.java:136)
Error:Android Dex: [xxx] at org.jetbrains.android.compiler.tools.AndroidDxRunner.main(AndroidDxRunner.java:336)
Error:Android Dex: [xxx] Exception in thread "main" java.lang.NullPointerException
Error:Android Dex: [xxx] at org.jetbrains.android.compiler.tools.AndroidDxRunner.runDex(AndroidDxRunner.java:139)
因为之前下载了27.0.3的build-tools,之后又下载了25.0.3的build-tools,可能导致程序运行时jar包冲突。
解决方法:
1) 打开Android Studio中的SDK Manager
2) 选择27.0.3版本的build-tools,点击Delete Packages或者到本机sdk目录下直接删除目录即可(也有方法是禁掉高版本或者替换jar,可以自行尝试,我使用的替换不成功,报同样的错误)
3)重新编译项目,运行OK。4. 点击Tools—>Android—>AVD Manager没有响应。本机中先点击Android Device Monitor,之后从Window下点击Android Virtual Device Manager即可。
5. 新增了AVD的设备后(如下图)
程序运行时报错:emulator: ERROR: x86_64 emulation currently requires hardware acceleration!
Please ensure Intel HAXM is properly installed and usable.
CPU acceleration status: HAXM is not installed on this machine(未安装HAXM)
1)在SDK Manager中下载HAXM(Hardware Accelerated Execution Manager)
2)在以下sdk目录中点击安装HAEM
3)安装成功即可。
6. 报错:pkg: /data/local/tmp/com.example.xxx Failure [INSTALL_FAILED_OLDER_SDK]
问题原因:设备的Android版本过低or过高,app不支持。
解决方法:在程序的Manifest文件(或build.gradle)中将最低版本号调高or调低。
因为之前安装的是SDK 27的版本,之后重新下载了21的较低版本,这里面没有同步更新过来,所以报错,将27改为21,重新Run一下程序即可。
或者改动build.gradle中的版本号,但是本机中没有查到有build.gradle文件。
AndroidManifest中:
7. IDEA导入Android项目后java文件注释乱码问题。右键单击,选择File Encoding,之后选择需要编码的格式,此处选择的是GBK编码,之后选择Reload成功。如果先选择UTF-8,Reload后会有提示:目标文件可能不是UTF-8编码,是否需要继续Reload,此时选择取消即可。
备注:编码转换的详细解释请见https://blog.csdn.net/yansixiliang/article/details/778172531
到此,成功运行一个程序及模拟显示遇到的所有问题总结完成。后续若有其他问题再进行补充。