linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑

    最近安装了linuxmint19.2系统,这个系统是ubuntu系列,适合桌面操作系统,据说比ubuntu好。可以先看看系统的一些特征:

    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑

    这里的系统设置,很像mac系统,有没有?

    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑

    系统信息如下:

    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑

    现在进入正题,因为系统自带了openjdk,我们需要通过sudo apt purge openjdk-*来卸载,否则后面可能会出现问题。

    环境安装:

    准备jdk,eclipse,jdk这里安装的是oracle提供的jdk1.8,我下载的是tar包,解压,然后放到/usr/local/java目录下,设置JAVA_HOME,CLASSPATH,PATH等环境变量。

    eclipse下载的是最新的eclipse,下载源是使用的清华源,10分钟就搞定了。我们系统如果在安装jdk1.8之前已经卸载了自带的openjdk,那么这时候会在第一次打开eclipse的时候,就会找到系统安装的jdk1.8作为java运行环境。如下所示:

    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑

    如果没有卸载,默认会加载系统的openjdk,目前是openjdk-11版本。这里可以通过add的方式将我们手动安装的jdk1.8加入。

    到了这里,基本上可以通过eclipse开发java项目了,但是要开发android还需要两步,一个是安装sdk,一个是安装adt,sdk是单独安装的,不用在eclipse中操作,而adt是android development tools的简称,就是eclipse开发安卓的系统工具或者是叫插件,类似我们的eclipse安装spring插件一样。目前sdk最高是android-sdk_24.4.1-linux,这个文件可以在这里下载,如下所示,我下载的是linux版本的sdk-tools:    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑

    这个下载只是一个sdk安装工具,并不是真正的sdk环境,需要利用这个工具来安装sdk。

    下载之后,解压,然后进入解压目录,运行tools/android,打开sdk manager可视化窗口,进行真正sdk相关的下载安装。

    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑

    这里需要注意的是,android sdk tools目前最高的是25.2.5,也就是说我们安装的android sdk build-tools需要一个25版本号的与它对应,否则在后面构建项目运行的时候,还是有问题。这里需要注意。我选择的是如下的packages:

    Android SDK Tools -> 25.2.5

    Android SDK Platform-tools -> 29.0.5

   Android SDK Build-tools -> 29.0.5

   Android SDK Build-tools -> 25.0.2

   SDK Platform -> 29

   Google APIs Intel x86 Atom_64 System Image ->29

   Google APIs Intel x86 Atom System Image -> 29

   Sources for Android SDK  -> 29

   SDK Platform -> 28 

   ---------------------------------------------------------------------------------------------------------------------------------

   Android SDK Manager对话框中显示的包不用全部安装,选择几个就可以,主要的sdk tools 、 platform-tools 、 build-tools是必须要安装的,我这里其实也有多余的,但是保证了一个最新的29,和一个可用的25。

    这里的安装需要一定的时间,主要是需要下载一些镜像和工具,默认我们下载的sdk tools工具中只有tools目录有内容,当我们安装完成真正的sdk,我们会发现,目录发生了改变,很多目录中也有内容了:

    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑

    查看文件夹:

    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑

    到这里,我们的准备工作完成了一大半,到这里,eclipse与android还没有扯上关系,都是独立安装的,我们需要安装一个插件让eclipse能够创建android工程,让preferences对话框能够有android选项。我们需要安装adt,就是安卓开发环境工具Android Development Tools。这里可以通过eclipse->help->Install New Software的方式安装,目前adt官方最高版本是23,而我们安装的sdk是24版本的,所以为了adt与sdk版本兼容,我们选择手动下载adt,github上adt下载地址,并把zip下载包加入到Install New Software的work with输入框中,如下所示:

    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑

    输入框中指定zip包路径之后,回车,选择Developer Tools选项,然后一路next,accept,最后安装完成,重启eclipse,就可以了。 重启eclipse之后,如果提示没有找到系统的sdk,我们只需要手动指定我们前面下载的android-sdk-linux目录即可。如下所示:

    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑

    指定目录之后,会自动识别sdk。

    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑

    至此,所有的安装工作就完成了。 万里长征只是走完了一小步,后面的创建工程,然后运行才是重头戏,而且会有很多问题。

    创建工程:

    打开eclipse,然后新建,这时候,选择other,进入创建向导,这时候向导中会出现android选项,并且可以创建android application project了。

    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑

    新建项目一路next,创建出来的项目还没有开始就报错了,因为资源问题:

    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑

        error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_launcher')

         出师未捷身先死,这感觉太衰了,我们仔细发现资源是在mipmap下,不在drawable目录下,我们只需要简单修改一下AndroidManifest.xml配置文件即可。这个问题直接导致MainActivity.java文件报错,因为R资源的问题。

          简单修改出错配置的地方@drawable/ic_launcher为@mipmap/ic_launcher即可。报错问题解决。

          当我们想运行的时候,又报错,Failed to load /opt/android-sdk-linux/build-tools/29.0.2/lib/dx.jar,我们会发现,dx.jar存在,而且路径也正确,权限问题也不存在,这是为什么呢?    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑

        这就是我们在安装sdk的时候提到的一个问题,我们的sdk tools最高版本是25,而项目默认使用了29版本,很多文章提示将build-tools目录下25版本的dx.jar加入到29版本或者28版本(如果你安装的最高build-tools是28)的lib目录下就可以了。其实,我们只需要在project.properties中加入如下配置即可:

    sdk.buildtools=25.0.2

    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑   

        接下来,我们继续运行,又会报出一个错误,真的很郁闷:Errors occurred during the build.Errors running builder ‘Android Package Builder’ on project ‘Hello’. sun/misc/BASE64Encoder 。 这就是前面提到的因为系统自带的openjdk与我们手动安装的jdk冲突了导致的java api方面的问题了。解决办法就是卸载linuxmint自带的openjdk,然后重新启动eclipse即可。

    sudo apt purge openjdk-*  

    解决了这个问题,终于可以看到项目正常构建而且启动,出现了安卓设备选择的界面:

    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑  

    我这里因为连接了真机,所以会显示一个安卓设备,而且安卓设备目标是android9,点击第一个列表的安卓机,然后点击ok,项目就打包并且在安卓机上开始安装了,根据手机提示,选择安装,然后就可以看到android的helloworld程序了。

    控制台打印信息:    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑

    安卓机截屏效果:

    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑

    安装成功之后,显示helloworld

    linuxmint下通过eclipse安装android开发环境sdk,adt并新建与启动项目各种踩坑

    至此,linuxmint下eclipse开发安卓环境搭建以及创建简单项目就完成了,九曲十八弯,终于看到了效果。