像往常一样,当你试图制作非标准的东西时,你会坚持使用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>