使用android maven插件重命名包

像往常一样,当你试图制作非标准的东西时,你会坚持使用maven.

我目前正在尝试重命名Android应用程序的主应用程序包,以便能够从相同的来源运行不同的品牌应用程序.

我们正在使用android maven插件,实现它是非常困难的.

>我正在尝试第一种简单方法 – 使用renameManifestPackage配置.但这看起来不像我的预期.因为apk现在无法安装.
>我尝试了第二种方法.在初始化阶段运行ant以从sources / resources / tests / AndroidManifest.xml重命名包.如果我跳过测试,这几乎可以工作.如果不是因为Robolectric使用原始清单而失败.如果我不复制清单并在原始文件中进行替换,一切正常,但我现在修改了AndroidManifest,这打破了我的工作环境(IDE).

有没有人有明确的步骤如何重命名包仍然有工作环境?

UPD:第1点提到的问题是我使用了错误的包名“devapp”.它应至少包含一个’.’.它是通过使用“my.package.devapp”修复的.安装成功通过.但我现在无法安装新的应用程序,因为:

Can't install because provider name my.package.app (in package my.package.devapp) is already used by my.package.live

我不知道下一步该做什么.深入了解apktool.

解决方法

我得到它正在使用3.5.1 android maven插件和配置中的下一行:
<renameManifestPackage>my.package.${environment}</renameManifestPackage>
<manifest>
    <providerAuthorities>
         <property>
             <name>my.package.provider.Provider1</name>
             <value>my.package.${environment}</value>
         </property>
         <property>
             <name>my.package.provider.Provider2</name>
             <value>my.package.${environment}.media</value>
         </property>
    </providerAuthorities>
</manifest>

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...