[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可拖动的购物车效果(含点击放入购物车动画代码)

由于项目需要,做了一个可以移动的购物车控件,已经点击添加到购物车的动画效果.动画效果在列表中也是可以使用的 一.可以拖动的购物车 1.主要是通过WindowManager添加和删除自定义的LiearL...

Android 一行代码搞定将错误日志放入到sd卡中且不需要任何权限,适配到android7.0

Android 一行代码搞定将错误日志放入到sd卡中且不需要任何权限,适配到android7.0之前所有的项目都有一个将崩溃日志写入到sd卡的工具类,然后每次项目新建都从老项目copy过来,后来慢慢发...

Android 一行代码搞定将错误日志放入到sd卡中且不需要任何权限,适配到android7.0

Android 一行代码搞定将错误日志放入到sd卡中且不需要任何权限,适配到android7.0 之前所有的项目都有一个将崩溃日志写入到sd卡的工具类,然后每次项目新建都从老项目copy过来,后来慢...

android JSON解析放入ListView

  • 2016-06-17 18:41
  • 3.59MB
  • 下载

[Android--Tool]使用activity-lifecycle源码建立工程无R.java的问题

问题描述:Andriod工程的R.java是自动生成的,当改变程序代码,XML文档内容时,都会自动添加上内容的。之前对R.java做过了解和修改,并整理了网络一些关于R.java的资料。     先新...

Android ViewPager放入多个XML。如何监听其的控件?

http://www.dewen.org/q/3543 (原文地址) Android ViewPager放入多个XML。如何监听其的控件?   ...

Android ScrollView 中放入 ImageView 的出现上下空白

未经博主允许不得转载,转载请标明出处: 最近在项目中遇到了ScrollView中嵌套ImageView,导致图片上下有空白 如图:       在网上找解决的办法,说在ImageView...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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