主要4点:
1,模拟器无法成功启动;
2,安卓BuildTools版本找不到;
3,jar包引用导致的错;
4,如何导出jar包。others:
gradlew build 打包apk,会生成build文件夹
gradlew clean 删除build文件夹
gradlew -v 查看gradlew版本,如果没安装将会去下载。
一,模拟器无法成功启动:
安卓模拟器开启失败,log如下
如log所说,需安卓intel的HAXM,其实在安卓SDK文件夹下就有,不用再下载,
就是这个玩意,点击next安装完成后就可以正常打开模拟器了。
是否都安装成功可使用命令行查询:
然后再去打开安卓模拟器,OK:
二,安卓BuildTools版本找不到:
刚从Eclipse倒过来的项目首次Gradle Sync花时间较长,耐心等待。。。
对于刚从Eclipse导入的项目,Gradle sync报这个错的,可以点击向导连接尝试下载安装出错的BuildTool,如果下载安装失败
如果下载安装失败,Plane B是在工程点击右键,选择”Open Module Settings”,
在”Properies”下”Build Tools Version”选择与SDK对应的Level,然后Gradle Sync。
三,jar包引用导致的错:
对于项目运行时报这个错,说明引用的jar包存在重复引用的情况,需要删掉其中一个引用,如support-v4,打开”Project Structure”,在”Dependencies”下,将jar包引用移除
如果未成功,尝试在build.gradle下将compile files(‘libs/xxxx.jar’)移除
四,导出jar包:
参考这篇博客
在工程目录下Terminal终端执行:gradlew build (此命令打包成apk)
然后在project视图下就会生成一个build文件夹,里面有此命令生成的东西,包括java的.class文件,在这里可以直接在终端敲完java中jar的生成命令来生成jar包
(生成jar命令 jar cvf volley.jar -C build/intermediates/classes/release .),但我希望能够写在gradle里方便省事,
在工程顶级目录下的build.gradle文件添加如下代码:
def makeJar(String target, String classDir){
exec{
executable "jar"
args "cvf", target
args "-C", classDir
args "", "."
}
}
task buildJar(dependsOn:['build'])<< {
makeJar("myClass.jar", "build/intermediates/classes/release")
}
然后在终端执行命令:gradlew buildJar
成功后如下方框提示,此后将会生成的.jar文件将会在最顶层目录下
本文针对Android开发过程中常见的四大问题提供了详细的解决方案,包括模拟器启动失败、BuildTools版本缺失、jar包冲突及如何导出jar包。同时介绍了gradlew命令的基本用法。

6761

被折叠的 条评论
为什么被折叠?



