干货:Android 源码使用心得分享

时间:2022-10-24 14:35:05
      我相信很多初学者会和我一样经常在网上去找Android开发源码,但是往往因为运行不起来非常的懊恼!在做爱开发网站的时候,收集App代码时就遇到了这种困难,我相信网络上面的源码大部分在发布前都会人工测试,能够正常运行才会发布,要肯定是没法截图的,那么我们应该如何解决这样的问题呢?
干货:Android 源码使用心得分享
 
       首先让我们来看看到底是哪些原因造成的这种问题,一个源码不能正常运行的原因可能有很多,比如有一些项目是有时效性的,通俗的讲就是项目以前依赖的服务端可以用但是现在不能用了,比如源码作者把服务端关闭了,或者软件内置的第三方jar包太老了不能正常返回项目请求的数据了,这种情况会导致项目打开运行时报错,常见的现象就是运行起来以后卡在一个初始化界面不动或者就干脆闪退,这种情况必须要更改或者屏蔽这段需要联网检测或者服务的代码才能解决问题,下面说的几种情况是你在网上下载下来的安卓源码导入到eclipse里面不能运行的解决方法,不是源码运行起来出错的解决方法,接下来我教你一一排查
 

下载的文件是否有问题

       解决办法是用解压软件打开或者解压的过程中有没有弹出什么错误提示,如果有错误提示那就重新下载一遍文件。或者去其他网站寻找相关的资源进行下载。

弄清楚IDE的版本

       如果确定下载的压缩包没有问题那就看看是不是编译工具不一样,爱开发App源码论坛测试的时候用的是Android Developer Tools Build: v22.6.2-1085508(如果你不知道怎么看IDE的版本请自行百度),理论上adt22.6以上的版本都可以正常导入本站的项目。adt22.6以下不敢保证,不过你可以多导入几个项目试试是不是都报错,如果都报错的话那就可能是IDE问题。如果你用的Android Studio或者其他工具请自行解决文件导入问题

检查项目导入是否正确

       正确的项目导入步骤是:打开eclipse-->点击File--选择-->Import-->点击android下的Existing Android...-->点击Browse,查找你的工程-->最后点击“Finish”,完成(强调一下,你的工程一定不要放在第一次eclipse生成的工作空间的目录下,不然导入不会成功。。。 )如果还是不懂,可以看下图文教程:这里

SDK编译版本

       很多朋友的adt是在谷歌官网或者在网上随便找了一个,谷歌官网的adt默认只带有一个最新版本的sdk,低版本的sdk还需要通过adt自带的Android SDK Manager 自己下载。如果你不知道你的adt包括哪些版本的sdk你可以在点你adt上面的菜单:Window-Preferences-Android(汉化版本:窗口-首选项-Android)查看你的环境都有哪些sdk,本站用来测试源码的sdk经常使用的版本有:2.3.7、4.2.2、4.4.2,老一些的源码大多是使用2.3.7测试的,新源码4.4.2居多。如果你的sdk不包括4.4.2或者4.2.2可以去这个网站找到这两个版本的sdk下载下来,怎么使用下载下来的sdk这个网站有说明,在这里不深究。

项目编码问题

       另外还有一个问题就是判断一下项目的编码是否正确,如果你导入的源码在源码名字上面有一个红叉叉,点那个带有红叉叉的文件夹图标发现一个名字叫src的文件夹图标上也有一个红叉叉,依次点开带红叉叉的文件夹或者文件,双击点开出错的java文件,在代码编辑窗口点右侧小红方块就可以快速定位到出错的代码行,看一下这行代码是不是里面夹杂着乱码,这时你在你的项目名字上点右键选择最后一个菜单Preferences(汉化版本:首选项)(或者点击项目名字然后按快捷键Alt+Enter效果一样),在弹出窗口什么都不点在右侧找Text file encoding(汉化版本:文本文件编码)这一项,勾选Other(汉化版本:其他),如果显示的GBK那就换成UTF-8如果是UTF-8那就换成GBK(*最常用的就是这两种编码),点确定。项目几秒后就会自动刷新,看一下红叉叉是不是没了,如果还存在的话那就选中项目点菜单里面的Project->Clean...->Clean projects selected below(汉化版本:项目->清理->清理下面所选项目)然后勾选要清理缓存的项目名字点OK就会强制清理项目缓存

是否缺少依赖

       一些较大的项目大多包括有子项目或者使用了第三方的库文件,你可以在你的项目名字上点右键选择最后一个菜单Preferences(中文版的名字叫首选项)(或者点击项目名字然后按快捷键Alt+Enter效果一样),点左侧的Android菜单这时右侧会出现两个小窗口,一个是Project Build Target(项目编译版本)一个是Library。看一下Library里面有没有一个红叉有的话把鼠标放到这行路径上面2秒不要动会显示路径全名,大致记一下名字,然后点Add,eclipse会自动列出你导入的过的Library,看看有没有名字跟你刚才记的名字差不多的点,双击就会添加了,然后再把出错的Remove掉就可以了,然而大部分情况是点Add出来的弹出框什么都没有,这时候你就要自己想办法找到依赖的Library了,http://bbs.aiyingli.com/发布的源码如果需要Library会一同打包。如果是在其他地方找的项目源码那Library估计就不好找了。

是否缺少jar包

      很多项目用到了一些第三方的jar包,但是作者使用的jar包可能没有放到项目目录下面,导致打包的时候没有打进去,别人导入了这个项目就会去源路径找这个jar包,但是导入人的电脑这个路径上肯定不会有这个jar包的,你可以在你的项目名字上点右键选择最后一个菜单Preferences(汉化版本:首选项)(或者点击项目名字然后按快捷键Alt+Enter效果一样),点左侧的Java Build Path菜单(汉化版本:Java构建路径)这时右侧会出现一个有四个选项卡的的窗口,点Libraries(汉化版本:库)窗口看看下面有没有红叉叉,有红叉叉点Add JARs点开你正在解决问题的这个项目,再点libs目录,看看有没有同名的jar包,如果有的话就双击选择,然后选中带红叉叉的jar包点Remove。如果没有的话就自己想办法搞这个jar去了,我的做法是把jar包名字放在百度里面搜,看看能不能找到相同文件名的文件,然后放到项目的libs目录里面再按照上面的方法引用,如果找不到那就自求多福了。点确定。项目几秒后就会自动刷新,看一下红叉叉是不是没了,如果还存在的话那就选中项目点菜单里面的Project->Clean...->Clean projects selected below(汉化版本:项目->清理->清理下面所选项目)然后勾选要清理缓存的项目名字点OK就会强制清理项目缓存
 
最后推荐几个非常棒的App源码下载站:当然CSDN上有很多优质的代码,另外大家可以看下app源码论坛,上面的代码非常全面给力同时都可以运行。