AndroidStudio: 是Google官方基于IntelliJ IDEA开发的一款Android应用开发工具,,类似之前的eclipse,但是比eclipse 强大很多;
Gradle:是一个工具,同时它也是一个编程框架。使用这个工具可以完成app的编译打包等工作;
buildToolsVersion: android构建工具的版本,其中包括了打包工具aapt、dx等等。这个工具的目录位于..your_sdk_path/build-tools/XX.XX.XX,通过SDK Manager 更新;
comileSdkVersion:编译版本,就是运行我们这个项目的需要的android SDK版本;
comileSdkVersion 和buildToolsVersion区别
新建一个项目,看build.gradle文件的配置,如下:
CompileSdkVersion:是告诉gradle 用哪个SDK版本来编译,和运行时要求的版本号没有关系;使用任何新添加的 API 就需要使用对应 Level 的 Android SDK。
buildToolsVersion: android构建工具的版本,在SDK Manager中安装选择版本,buildToolsVersion的版本需要>=CompileSdkVersion; 高版本的build-tools 可以构建低版本编译的android程序;
gradle版本和com.android.tools.build:gradle配置的版本关系
之前会奇怪,为什么一更新gradle 插件版本,会报错
如下图,红色部分配置的就是android gradle 插件的版本,gradle插件的版本号和gradle版本号是对应的,较新的插件版本需要要求较新版的gradle,所以提示你更新gradle;
报错及解决方法:
The "Android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager
原因:
新版android sdk tool 舍弃了android相关命令,而cocos creator 依赖此编译,故通不过。
解决办法:
旧版sdk tool 覆盖即可,参考以下链接解决:
http://forum.cocos.com/t/creator1-4-1-android/45151
The "android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager
*************************************************************************
Invalid or unsupported command "update lib-project -t android-10 -p /Users/gamepub/Documents/c/build/../framewos/cocos2d-x/cocos/platform/android/java"
Supported commands are:
android list target
android list avd
android list device
这个问题是新版本的Android SDK把android工具删除了,而cocos命令依赖这个
google希望大家把切换到Android Studio,lite的Android Studio工程没有支持gradle编译
这个-x也是3.15加上的,等发布完3.15得同步到creator
应该是cocos2dx版本和ndk版本不兼容,这两个要用对应的版本,尤其是ndk版本,不要用太新的!!目前用10e
使用android studio打包应用程序出现如下错误:
注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
编译完之后就告诉我这寥寥无几的错误提示,让我情何以堪,于是google了下得到的答案:
我把这段代码粘贴过来了:
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
}
重新编译得到如下错误提示:
sers/guoyoujin/AndroidStudioProjects/gz/app/src/main/java/com/guoyoujin/gz/gz/net/HttpConnect.java:83: 警告: [deprecation] org.apache.http.params中的BasicHttpParams已过时
BasicHttpParams httpParams = new BasicHttpParams();
^
/Users/guoyoujin/AndroidStudioProjects/gz/app/src/main/java/com/guoyoujin/gz/gz/net/HttpConnect.java:85: 警告: [deprecation] org.apache.http.conn.params中的ConnManagerParams已过时
ConnManagerParams.setTimeout(httpParams, Globe.TIMEOUT_SOCKET);
^
/Users/guoyoujin/AndroidStudioProjects/gz/app/src/main/java/com/guoyoujin/gz/gz/net/HttpConnect.java:86: 警告: [deprecation] org.apache.http.conn.params中的ConnPerRouteBean已过时
ConnManagerParams.setMaxConnectionsPerRoute(httpParams, new ConnPerRouteBean(15));
^
注: 某些输入文件还使用或覆盖了已过时的 API。
100 个警告
好吧,果然错误提示变的非常详细,接下来就可以去修改这些警告了。