最近编译webrtc for android遇到好多问题,记下来之后备用。html
depot_tools 这个须要另外下载,有一点要注意的是里面的python文件都是python2的,也就是说若是你装了python3,那么默认python命令会用python3来执行,这个时候最开始我手打了命令(把gclient 变成 python2 /path/to/depot_tools/gclient.py),固然这样是很费力的。而且后来发现一些inner command仍是会用到python2,因此这种方法就不可行了。
解决方法:最后是在/usr/bin里面把python这个soft link指向python2就能够了。java
jdk webrtc for android 须要oracle的jdk来编译,openjdk的话在设置环境的时候会报错(source ./build/envsetup.sh的时候)。若是你是使用的openjdk的话,其实也好办,只要下一个oraclejdk而后设置一个JAVA_HOME而且把bin加到path里面就能够了。python
export JAVA_HOME=/path/to/oraclejdk export PATH=$JAVA_HOME/bin:$PATH 另外特别要注意的看下面那条:-)linux
jdk版本 若是你使用了jdk1.7,那么恭喜你中奖了。若是你再运行app的时候遇到classdefnotfound这种错误,那么说明你还真的中奖了。。
解决方法是:换用jdk1.6来编译webrtc,这样才能在android跑起来(至少如今要用1.6才行)android
什么?java VM出错了? 若是你是刚刚下的jdk1.6,而且下的是bin的那个而后解压缩的。。颇有可能遇到web
Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Objectoracle
解决方法见:http://www.cnblogs.com/chenguangyu/archive/2009/11/06/1597706.html 为了防止链接失效,那么也能够看下面:app
linux安装jdk出现java/lang/NoClassDefFoundError: java/lang/Object错误的解决方案 近日在redhat上安装jdk出现了一个莫名的错误 Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object 辛苦google了一个小时,终于找到了解决方案 首先要确认的是环境变量的设置是否正确 相信你们都是很细心的,这方面若是有错误也会很容易发现 然而还有一个隐蔽的地方也会产生上述的错误 就是lib和jre/lib文件夹中的rt和tools是不是打包后的形式 若是发现rt.pack 和 tools.pack 那么多半问题就出在这里 解决方法也很简单,只要将相应文件解压成rt.jar 和 tools.jar 可使用bin里面的unpack200工具 如:unpack200 rt.pack rt.jar 解压后java -version应该就没有问题了~~工具
在这里再次感谢做者!ui
FATAL EXCEPTION: GLThread 8 java.lang.IllegalArgumentException: No config chosen at >android.opengl.GLSurfaceView$BaseConfigChooser.chooseConfig(GLSurfaceView.java:771) at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:916) at >android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1246) at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1116)
<strike>这就要改源代码了。在源代码里面搜索一下view,而后找到感受像是GLSurfaceView的以后,在其new以后加入xxxView.setEGLConfigChooser(8, 8, 8, 8, 16, 0);</strike>
目前就遇到这么多问题,之后继续添加。