[Android--Tool]Android如何将他人的代码放入新建的工程中

原创 2015年07月11日 00:22:22
    问题描述:现有Android官网下载的一个activity-lifecycle的应用程序工程文件,不知道怎么直接打开,于是自己新建了一个叫做Activity_lifecycle的工程文件,并想将activity-lifecycle的源代码文件等内容放入到新建工程中,并实现与之相同的功能,这样做有点麻烦,但后面如果用到将已有部分代码插入时会很有借鉴意义。
    activity-lifecycle中包含有AndroidManifest.xmlbuild.xml文件,几个properties后缀和一个cfg后缀的文件,另外有三个文件夹:libs, res, src。觉得这其中的源文件主要包含在ressrc的文件中,于是先插入这两个文件夹中的layoutvalues.java后缀等的源文件,最后再看下AndroidManifest.xml是否会自动更新,如果自动更新则不必自己做修改了。

插入res/layout中的几个xml文件:

    右键新建工程的layout->import->XML->XML Catalog->Next,然后选中目前的Workspace Files文件,点击下面的Import Files…,浏览到layout中的文件,选定,在下面的列表框中选择要添加的.xml文件,再将Into folder:路径选择为当前工程的layout的路径,最后点击finish即完成.xml文件的导入了。

插入src中的.java文件:

与插入xml文件类似,右键工程的src下的包-> import->General->File System->Next


点击Browse…按钮选择需要添加的.java文件的目录,在下面的列表框中选择要添加的文件,然后选择Into folder的路径为当前工程的源文件存放地址,点击Finish即完成导入:


新建一个包:

 

插入源文件时,可能插入到自己的工程中时,一些包路径会有不同,此时可以在当前工程中新建包,以使插入的源文件可用。


在需要新建包的地方右键,然后选择New->Folder即可弹出上面的对话框,选择好Source folderName(包的名称)即可。

出现了问题:

接下来还需要将res/values中的.xml文件(strings.xml, colors.xml, dimensions.xml等)插入到新建工程中。与前面的插入.xml文件过程一样。

此时,工程仍有许多打红叉的地方,对比了一下新建工程与下载的应用程序工程的AndroidManifest.xml文件,两者是不一样的,新建工程的AndroidManifest.xml需要添加相应的activity等内容。这里直接利用前面插入.xml文件的方法将其替换掉。

问题出现了,替换掉AndroidManifest.xml文件后,工程中的R.java丢失不见了,出现了更多的红色叉。关于R.java文件丢失的问题,另见[苏湘]Android不生成R.java的问题.doc的描述。原因就是新建的工程与下载的源码属于不同的平台版本,从而导致了R.java的丢失。

如何将原有应用程序代码放入现有工程:

    既然上面的新建工程再逐步插入代码的方式行不通,于是想直接将整个下载的源码工程插入workspace中。

ADT中选择菜单栏File->Import->Android->Existing Android Code Into Workspace->Next

然后在弹出的Import Projects对话框中浏览并选定要插入的工程文件夹,并勾选下面的Copy projects into workspace选项,这会将原来下载的源代码复制到新建的工程文件夹中。点击“Finish”完成导入。

但此时ADT工具的地下Console出现以下信息:

[2013-01-14 09:45:23 - ActivityA] Unable to resolve target 'android-14'

[2013-01-14 09:45:24 - ActivityA] Unable to resolve target 'android-14'

[2013-01-14 10:18:08 - ActivityA] Unable to resolve target 'android-14'

[2013-01-14 10:18:08 - ActivityA] Unable to resolve target 'android-14'

    估计是工程的SDK平台版本设置不当所致。

ADT中右键点击工程名,选择Properties选项,选中左侧的Android项目,此时在右边显示Project Build Target,下面是下载安装的所有的AndroidSDK Platform版本,如Android1.5Android4.2等。这里选择的Project Build Target是指工程选择在ADT工具的哪个SDK平台下进行编译生成。

这里有几点关于ADTSDK平台、应用程序版本的问题需要进行说明:

ADT是指安装和配置的开发工具,向前兼容的,使用的最新版本的话是可以对之前所有版本开发的源码进行编译的,但以前版本的ADT工具很可能不能编译最新版本的工程文件。

SDK平台是Android操作系统不断更新的各个版本的SDK,也是向前兼容的,及初级版本有的功能高级版本肯定是有的,而且高级版本有许多初级版本不具备的功能,因此可能一些高级版本SDK开发出来的程序在低版本上是不能运行的。

比如,以前用Android2.0SDK开发的源代码,能在最新的支持Android4.2ADT中进行重新编译通过,得到的应用程序可以在Android2.0及以上版本的系统上运行,但一般不能再Android2.0及以下的版本上运行。

 

在将工程的Properties设置后,由于源代码是Android2.2的,所以启动一个2.2及以上的AVD都能正常调试运行了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android--百度地图密钥申请+环境配置(一)

简介 在使用百度地图SDK为您提供的各种LBS能力之前,您需要获取百度地图移动版的开发密钥,该密钥与您的百度账户相关联。因此,您必须先有百度帐户,才能获得开发密钥。并且,该密钥与您创建的过程名称有关...
  • chaoyu168
  • chaoyu168
  • 2016年05月10日 09:53
  • 2457

Unity项目开发完成后如何嵌入到Android中

注意我的用词是Unity项目开发完成后嵌入到已经开发完成的Android项目中,也就是说unity项目和Android项目都已经分别开发完毕,接着就是把unity项目嵌入到Android中具体的嵌入方...
  • qq_15267341
  • qq_15267341
  • 2016年09月28日 17:38
  • 1552

Android入门教程九之Git使用教程之本地仓库的基本操作

一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制系统 ①Git可以方便的在本地进行版本管理,如同你本地有一个版本管理服务器一样 我们可以选择在合适的时间将本地版本推送到统一的版本管...
  • qq_37022150
  • qq_37022150
  • 2018年01月23日 15:46
  • 9

解决Eclipse新建Android工程出错

最近新建一个Android工程,但是刚刚建好的工程便提示有错。错误表现如下: 缺少R文件 style.xml出错 开始解决问题:在网上找了一下,果然找到类似的错误,于是进行了以下的修改: 步骤1:将...
  • zjl_20
  • zjl_20
  • 2015年09月26日 09:39
  • 3056

MFC新建工程

MFC 新建工程
  • turetony
  • turetony
  • 2017年05月26日 11:05
  • 344

ios向项目中导入文件

ios开发,向项目中导入文件时,会出现两个选项,create
  • a690993211
  • a690993211
  • 2014年09月02日 14:33
  • 1121

在Eclipse的android工程下创建多个java文件

在开发Android程序时,往往都需要创建多个.java文件。为了便于管理,也会创建多个package,在不同的包下创建多个java文件。 (1)创建.java文件 在该工程的src文件下,在对应...
  • HorseRunningNoStop
  • HorseRunningNoStop
  • 2016年03月05日 10:06
  • 1946

eclipse开发环境下,如何根据已有代码创建一个 Android 工程

1,在 eclipse 开发环境下,创建一个 Android 工程很容易。按照常规步骤一步一步来即可!  File --> New --> Android Application Project ...
  • fulinwsuafcie
  • fulinwsuafcie
  • 2013年09月02日 19:45
  • 4914

如何将自己写的代码编进系统

有些时候,上层的App需调用一些系统功能,比如, 调用返回键, HOME键。但是上层的权限不够,这时,将app代码编放进系统里编译,这样任何的权限都可以获取。下面介绍如何将代码编进系统。 首...
  • u011694328
  • u011694328
  • 2016年12月12日 09:13
  • 248

Eclipse新建android工程就报错

产生这个问题,是因为ADT到version 22或者之后,当在使用eclipse创建项目的时候就会自动引用android-support-v7-appcompat.jar这个库,默认生成的Activi...
  • jay8824589
  • jay8824589
  • 2016年07月26日 09:43
  • 7620
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Android--Tool]Android如何将他人的代码放入新建的工程中
举报原因:
原因补充:

(最多只允许输入30个字)