您的位置:首页 > 编程语言 > Java开发

eclipse中的项目导入到源生项目中的各种问题

2016-06-15 17:52 260 查看
eclipse中的项目导入到源生项目中的各种问题



前言:

最近在做一个把手机当蓝牙使用的功能,一开始用Eclipse写了个简单的app,只是涉及到UI跳转的,后来发现需要调用Bluetooth的方法才能实现逻辑层的东西,进程间通信显然是玩不转了,必须把现有的UI代码整合到系统的Bluetooth中去,这样就可随便玩了,此时遇到很多坑。

1.先整合manifest文件中的注册问题,因为包名现在是:com.android.bluetooth,所以对应的需要注册的文件的name,我就改为:.ui.XXX,表示我的文件在com.android.bluetooth.ui下面,其他的直接复制过去就可以了。

2.src中的代码拷贝,需要新建名字为ui文件夹(在bluetooth文件夹下面),所有代码文件就放在里面。修改每个文件中的package为com.android.bluetooth.ui,但是还不够,你还需要导入R包,即:import com.android.bluetooth.R;  不然编译的时候会提示String资源文件找不到等一系列的问题。

3.res中的资源拷贝,因为Bluetooth中有String.xml,Style.xml等资源文件,但是没有drawable文件夹,所以我们需要添加的资源,如果bluetooth没有,直接拖进去,有的话就往里面添加,应该也很容易。注意:布局文件中一定要通过@string来引用字符串资源,不要直接使用字符串,不然编译不过(坏习惯要改呀!)

4.一切搞定,开始编译,有可能很多小细节没注意会报一些error,按着提示就能改好,但是我还是遇到了最大的一个坑:No resource found that matches the given name。

布局文件中所用到的资源文件都找不到了,明明已经拷贝过去了呀。在此要感谢下面这位博主http://blog.csdn.net/murphykwu/article/details/11133785,确实是自己找图片资源的时候,随手把.jpg的图片改成了.png。可是Eclipse编译没问题呀,但是原生编译就出问题了。幸亏我还记得是哪张图片,不然,你只能把布局文件中引用全去了,一个个排除了,或者把图片资源换了,都是很麻烦的过程,所以,最好还是不要乱来的好,如此说来,是Eclipse更智能,还是原生更严谨呢?反正自己的锅还得自己背。(要说明一下,那张该国后缀名的图片,是在代码中引用的,所以编译的时候完全没有提示,这是最坑人的地方,报错的那些图片倒是没一个有问题的)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: