2016-01-21 165 views
2

我有一个模板应用程序可以根据客户的品牌轻松改变配置参数。在Google Play上发布时,我显然需要更改packagename,AndroidManifest.xml在AndroidManifest.xml中更改Android包名而不实际更改文件夹包路径

我的问题是:是,可能在不改变文件夹名称,这样我就不需要惹整个项目结构?

+1

'applicationId'在gradle这个是你想要什么 –

+0

谢谢@DavidMedenjak。不幸的是,这个项目已经超过5年了,不使用'gradle',而不是'AndroidStudio' :(可以将'gradle'与旧的eclipse项目集成吗? – ssantos

+1

转而使用Android Studio反而更容易试图整合gradle这个偏食。 – Christopher

回答

0

Android Studio中有一个非常强大的重构工具,它允许您通过重命名也是所有目录重命名上一个简单的方法全包结构。你不应该在java包和项目目录树中使用不同的名称,这会使你的项目变得很脏。

+0

不幸的是,移动到'AndroidStudio'不是我的选择。我看你就脏点,但我可以面对自动化的缘故:) – ssantos

0

1)项目

2)右键选择Android的工具

3)然后单击重命名的应用程序包

0

你尝试this答案。在我使用Eclipse时它对我有效。

+0

是的,这实际上是标准的方式,但没有回答我的问题:( – ssantos

1

这完全有可能。在您的AndroidManifest.xml文件中,您应该根据自己的需要更改软件包名称,然后您的所有活动和服务都应该定位到您的课程的完整路径。

举例来说,如果您的应用程序包的名称应该是com.mybrand.myapp和旧的Java包的名称是com.myoldbrand.myoldapp您的清单应该是这样的:

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/common_app_icon" 
    android:label="@string/common_app_name" 
    android:supportsRtl="true"> 

    <activity android:name="com.myoldbrand.myoldapp.MyActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

+1

感谢@JulesTréhorel,唯一的问题是,R类别产生的新的'packagename'路径,所以每一个导入都被打破了,我终于用一个脚本来解决它,自动*重构导入语句。 – ssantos