CD 项目路径 cocos compile -p android –no-apk –android-studio
1.downloading https://services.gradle.org/distributions/gradle-3.3-all.zip
报出Exception in thread “main” javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
解决方法:因为要下载https的网站,需要在java里面的CA证书中增加cafile。这里我最简单的处理方式,修改gradle-wrapper.properties里面的distributionUrl属性,把https修改成http。避免用https下载grale.
2.gradle3.3需要java7以后的环境。我是jdk1.6。
解决方案:到java官网下载jdk1.8。安装完mac并不会直接更新成1.8,因为mac自带系统读取jdk的路径是/usr/library/java, 需要修改.bash_profile文件。sudo vim ~/.bash_profile;增加配置:
export JAVA_HOME=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
export CLASSPAHT=.:
JAVAHOME/lib/dt.jar:
J
A
V
A
H
O
M
E
/
l
i
b
/
d
t
.
j
a
r
:
JAVA_HOME/lib/tools.jar
export PATH=
JAVAHOME/bin:
J
A
V
A
H
O
M
E
/
b
i
n
:
PATH
source ~/.bash_profile生效;
3.遇到错误:Could not find tools.jar. Please check that /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home contains a valid JDK installation.
解决方案:原因是JAVA_HOME的变量路径设置不对。因为不理解JDK,JRE,JVM的区别。可以查看说明链接http://java-mzd.iteye.com/blog/838514。之前JAVA_HOME路径设置的是jdk的。
查看/Library/Java/JavaVirtualMachines是否有jdk1.8.0(因为cocos2dx 3.x要jdk1.7以后的)。没有则去oracle官网下载安装。
在MAC上查找和设置$JAVA_HOME
可以使用工具命令“/usr/libexec/java_home”来定位JAVA_HOME:
定位JAVA:
/usr/libexec/java_home
显示:
/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
另外可以使用-V选项列出所有版本的JAVA_HOME:
/usr/libexec/java_home -V
显示:
Matching Java Virtual Machines (3):
1.7.0_80, x86_64: “Java SE 7” /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
1.6.0_65-b14-468, x86_64: “Java SE 6” /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-468, i386: “Java SE 6” /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
配置JAVA_HOME:
$ cat ~/.bash_profile
JAVA_HOME=/usr/libexec/java_home
注意:此处不是单引号,是键盘“〜键”上的符号
export JAVA_HOME
echo e c h o JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home
使修改后的.bash_profile立即生效
$ source ~/.bash_profile
4.Could not resolve all files for configuration ‘:classpath’.
Could not find com.android.tools.build:gradle:3.0.0.
解决方案:因为jcenter的网络给墙了 完全访问不到。把build.gradle修改成
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath ‘com.android.tools.build:gradle:3.1.0’
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
先访问谷歌,但是也是要保证能翻墙的。多一个渠道而已。总之,这样就开始下载包了。然后就就能build success.
弄完之后,再跑cocos compile -p android –no-apk –android-studio
在mac环境下,编译打包cocos2d项目成android。
另外Cocos2dx 3.15后能用android studio编写编译。详情见链接:http://www.cocos2d-x.org/docs/cocos2d-x/zh/installation/Android-terminal.html
http://www.cocos2d-x.org/docs/cocos2d-x/zh/installation/Android-Studio.html
错误提示是这样:resource fork, Finder information, or similar detritus not allowed。
找了很多资料,说的都是一半一半,有的看了仍是无从下手。最后看到的处理方式是这样的:
首先关闭Xcode,打开终端:
进入DerivedData目录
cd ~/Library/Developer/Xcode/DerivedData/
然后再终端输入:xattr -rc .
xattr -rc .
find . -name “*.png” -exec xattr -c {} \;
再次运行项目,就没有这样报错了。(也是对症下药吧,如果不适用就再看其他的方法吧)