我相信很多初学者会和我一样经常在网上去找Android开发源码,但是往往因为运行不起来非常的懊恼!在做爱开发网站的时候,收集App代码时就遇到了这种困难,我相信网络上面的源码大部分在发布前都会人工测试,能够正常运行才会发布,要肯定是没法截图的,那么我们应该如何解决这样的问题呢?
 
       首先让我们来看看到底是哪些原因造成的这种问题,一个源码不能正常运行的原因可能有很多,比如有一些项目是有时效性的,通俗的讲就是项目以前依赖的服务端可以用但是现在不能用了,比如源码作者把服务端关闭了,或者软件内置的第三方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源码论坛,上面的代码非常全面给力同时都可以运行。

干货:Android 源码使用心得分享的更多相关文章

  1. Android版的疯狂猜图游戏源码完整版分享

    这个游戏源码是在安装教程网那么分享过来的,Android版的疯狂猜图游戏源码完整版分享,也是本人之前很早以前发的一款游戏源码的,大家如果想了解一下,可以看看吧,不说多了,上一个图先吧.   > ...

  2. android源码 分享1

    技术博客       "碎片化"严重,安卓走向封闭?[Bus Weekly]48期   阅读数:286   2017-05-08   按照NetMarketShare统计数据显示, ...

  3. Android学习进阶路线导航线路(Android源码分享)

                                                                                                       转 ...

  4. 分享一个完美的新闻客户端(酷商城)Android源码

    分享一个完美的新闻客户端(酷商城)Android源码,这个源码项目是从安卓教程网转载过来的,项目主要是解析html,fragment,异步缓存图片加载,webview加载网页等.可以正常的运行的,我已 ...

  5. (转)Android学习进阶路线导航线路(Android源码分享)

     转载请注明出处:http://blog.csdn.net/qinjuning 前言:公司最近来了很多应届实习生,看着他们充满信心但略带稚气的脸庞上,想到了去年的自己,那是的我是不是也和 现在的他们一 ...

  6. 从Android源码的角度分析Binder机制

    欢迎访问我的个人博客,原文链接:http://wensibo.top/2017/07/03/Binder/ ,未经允许不得转载! 前言 大家好,好久不见,距离上篇文章已经有35天之久了,因为身体不舒服 ...

  7. Android 源码下载方法(Git 方式clone)

    Android源码对于Android开发者来说,迟早有一天你会用到的,所以就记录一下,分享给读者,希望对读者有用 这里需要使用到Git相关知识,不清楚的可以先阅读,了解的可以跳过 Git-Tortoi ...

  8. 关于在线查看相关开源源码的网站,包括Android源码

    无废话,纯干货! 各种源码自行搜索: http://grepcode.com/ Android源码:http://grepcode.com/project/repository.grepcode.co ...

  9. android源码-安卓源码-Android源码下载-安卓游戏源码

    android源码   高仿精仿金山手机卫士应用源码V1.2 高仿精仿金山手机卫士应用源码,该应用的级别实现了金山卫士的级别功能了,可以说跟现实中我们使用的金山卫士应用的功能几乎差不 人气:9286  ...

随机推荐

  1. c# implicit explicit关键字(隐式和显式数据类型转换)

    implicit关键字用于声明隐式的用户定义类型转换运算符.(explicit反之)explicit则用于显示转换用户自定义类型.static implicit operator target_typ ...

  2. .NET企业轻量级开发框架(APS.NET+Spring.Net+NHibernate)

          在<企业级应用架构>系列文章发表之余,也得到了许多同行的反馈,有人说这套框架太重了或者技术学习太复杂了或者初学者不太好理解或者完全颠覆了传统APS.NET开发模式让人望而生畏. ...

  3. 企业应用架构模式阅读笔记 - Martin Fowler

    1. 数据读取

  4. 有用好看的CSS+JS+table 导航

    预览效果图 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dis ...

  5. 网易新闻优化APK下载链接

    你好,欢迎你的访问! 本次是APK包的下载链接: 点我下载 这是我目前实现的效果,正在完善中...

  6. 百度UEditor组件出现Parameters: Invalid chunk &#39;&#39; ignored警告的分析

    使用百度UEditor在线编辑器组件时,出现Parameters: Invalid chunk '' ignored的警告,之前的项目使用却没有.两个项目的环境应该是一样的. 没有时间去对照两项目使用 ...

  7. IOS触摸事件和手势识别

    IOS触摸事件和手势识别 目录 概述 触摸事件 手势识别 概述 为了实现一些新的需求,我们常常需要给IOS添加触摸事件和手势识别 触摸事件 触摸事件的四种方法 -(void)touchesBegan: ...

  8. CGI,FastCGI,PHP-CGI与PHP-FPM(转)

    http://www.cnblogs.com/zl0372/articles/php_4.html CGI CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服 ...

  9. careercup-高等难度 18.6

    18.6 设计一个算法,给定10亿个数字,找出最小的100万个数字.假定计算机内存足以容纳全部10亿个数字. 解法: 方法1:排序 按升序排序所有的元素,然后取出前100万个数,时间复杂度为O(nlo ...

  10. SOA与C#

    What is SOA? SOA or Service oriented architecture is an architecture style for building business app ...