编译 cyanogenmod (cm) android 源码遇到的坑(自用)

来源:互联网 发布:极客营销软件 编辑:程序博客网 时间:2024/05/21 08:51
/*******************************************/
1.编译前别忘了执行一下 .bashrc 和 .profile 应用当前的配置
2.虚拟机内存分配不能少于4G,最好再设定一下交换页
3.执行完下载相关的命令后,最好再执行一遍,以确保文件下载没有缺失
4.虚拟机 SS 转发(翻墙用)
/*******************************************/


下载失败重下载脚本:
#!/bin/sh


repo sync
while [ $? -ne 0 ] 
do 
    echo "try repo sync again"
    repo sync
done


/*******************************************/


[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.10:get (default-cli) on project standalone-pom: Couldn't download artifact: Could not transfer artifact org.cyanogenmod:gello:apk:40 from/to central (https://maven.cyanogenmod.org/artifactory/gello_prebuilds): sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[ERROR] org.cyanogenmod:gello:apk:40
[ERROR] 
[ERROR] from the specified remote repositories:
[ERROR] central (https://repo.maven.apache.org/maven2, releases=true, snapshots=false),
[ERROR] central (https://maven.cyanogenmod.org/artifactory/gello_prebuilds, releases=true, snapshots=true)
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
这是由于缺少SSL证书导致


首先用浏览器浏览https://maven.cyanogenmod.org/artifactory/gello_prebuilds


然后使用浏览器把这个网站的证书导出到example.der文件,在这个文件的所在目录执行 
如果上面的方法下载不到证书,可以访问 https://www.ssllabs.com/ssltest/analyze.html?d=maven.cyanogenmod.org 下载证书
http://gp.symcb.com/gp.crl 


$ sudo keytool -import -alias example -keystore  $JAVA_HOME/jre/lib/security/cacerts -file example.der
提示输入密钥库口令时,输入changeit,这里一定要是changeit,否则无法导入,之后会提示导入成功


使用SSLPoke工具可进行查询是否成功(下载 SSLPoke https://confluence.atlassian.com/kb/files/779355358/779355357/1/1441897666313/SSLPoke.class),运行


$ java SSLPoke maven.cyanogenmod.org 443
提示Successfully connected即为成功


/*******************************************/
卡在下面位置
make: *** framework_intermediates/with-local/classes.dex


swapfile 不足,设置一下 swapfile ,或者扩大内存
http://www.cnblogs.com/kerrycode/p/5246383.html


/*******************************************/


参考链接:
问题参考: http://ljkgpxs.xyz/linux/compile_mi5_cm13
网站证书查询: https://www.ssllabs.com/ssltest/analyze.html?d=maven.cyanogenmod.org
ubuntu库包查找: http://packages.ubuntu.com/trusty/libwxgtk2.8-dev
0 0