2012-01-24 37 views
3

我对android开发很新颖,所以我希望我的问题很简单,但不是完全愚蠢。我正在使用Eclipse来构建一个Android应用程序。它基于zxing的巧妙家伙的条形码扫描仪。我已经对原代码进行了一些修改,一切正常。但我仍然有问题,即原始条形码扫描仪和我的应用程序无法在一台移动设备上同时运行。据我所知,问题在于软件包名称。所以我试图把它改成别的东西。但是,由于我无法再访问我的资源(例如,findViewById(R.id.btDone); < - R无法解析为变量),因此我的整个项目都开始了。如何正确更改AndroidManifest.xml中的包名称(例如,在项目zxing/barcodescanner中)

任何人都可以告诉我还有什么我必须改变,使我的代码再次工作?

我AndroidManifest.xml中的开始,我试图改变包名:

<manifest 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.google.zxing.client.android" 
    ... 

我还发现,在build.properties一个有趣的条目:(?!)

application-package=com.google.zxing.client.android 

谢谢你们!

+3

我们强烈建议您不要复制我们的条码扫描器代码。不是很酷。 –

+1

嗯......我该如何使用代码呢?我不想强制用户单独安装条形码应用程序。 我的意图绝对不是要求原始代码的作者身份或侵犯任何版权! – Thassilo

+2

当然,您可能不想要第三方依赖项:所以您应该编写自己的扫描程序应用程序,然后使用核心库进行解码。您可以根据需要重新使用条码扫描器的部件。我们不喜欢看到的是从复制和粘贴开始,因为最终的结果是在太多情况下保留90%的复制和粘贴,即使它在技术上合法也不正确。也许你真的在应用程序上进行创新,但大多数人不这样做。 –

回答

14

这应该做到这一点:右键单击项目 - > Android工具 - >重命名应用程序包

0

Android - Package Name convention

包指的是你发的文件目录。如果你仍然有问题,特别是使用android,有时做项目 - >清理,然后重建修复一些资源的链接问题

-1

假设你选择去与包名称:

com.superscanner.android 

并与包名称为(例如):

com.google.zxing.client.android 

通过所有的源代码和变更手续:

import com.google.zxing.client.android.R; 

要:

import com.superscanner.android.R; 

您还必须重新命名所有的目录,以匹配新的封装结构,并改变你的importpackage声明,但这应该让你去。

+0

只有当你想改变源代码而不是应用程序包时,这才有效! – Ektos974