Android项目的2种不同权限

Android项目的2种不同权限,android,android-manifest,android-permissions,Android,Android Manifest,Android Permissions,我们正在进行一个项目,我们想为它制作2个版本 一个需要对诸如短信、电话等付费服务的权限。。。还有一个没有 我们正在寻找一种将其集成到一个项目中的方法,这样我们就不必跟踪两个项目中的更改,也就不会因为这个微小的差异而有两个不同的源文件 有没有办法设置两组权限并决定在编译时使用哪一组 谢谢 将项目文件存储在存储库中,如git。github.com上的github应用程序或mac app store上的sourcetree应用程序将在GUI中实现这一点,它们都是免费的。将代码放入git之后,您将拥有一

我们正在进行一个项目,我们想为它制作2个版本

一个需要对诸如短信、电话等付费服务的权限。。。还有一个没有

我们正在寻找一种将其集成到一个项目中的方法,这样我们就不必跟踪两个项目中的更改,也就不会因为这个微小的差异而有两个不同的源文件

有没有办法设置两组权限并决定在编译时使用哪一组


谢谢

将项目文件存储在存储库中,如git。github.com上的github应用程序或mac app store上的sourcetree应用程序将在GUI中实现这一点,它们都是免费的。将代码放入git之后,您将拥有一个主分支。在git中创建一个免费的分支。最初,它将拥有主分支中的所有源。更改您需要在freebie分支中删除权限的代码-为简单起见,将其作为一个文件的唯一功能。在主分支中进行开发并在那里编译。在github/sourcetree应用程序中的分支之间来回切换

当您想要编译免费版本时,在git中,切换到免费分支。然后使用git merge命令(它集成到github应用程序中)将更改后的文件从master复制到freebie中。除非在两个分支中更改相同的文件,否则这应该是一个一键操作,不需要人工参与。然后进行正常编译,您将获得免费应用程序。当您在git中切换分支时,git会将源代码树中的所有文件替换为另一个分支中的文件,因此一切都正常工作


为了更聪明地使用git(我极力推荐),您可以尝试一下

您可以创建一个库项目,其中包含两个应用程序共有的所有代码。然后将库项目包括在两个应用程序项目中,并在其中实现所有特定于应用程序的内容。

好的,在进行一些研究和谷歌搜索后,我得到了适合我的答案

马文!我编写了一个pom.xml文件,它有两个配置文件,我可以在cmd行中提供我想要的配置文件,并根据这些配置文件将相关文件(比如AndroidManifest.xml)从正确的文件夹复制到项目文件夹中,然后编译并部署到手机上

这样,我需要维护两个单独的清单文件,但我不必处理SVN可能出现的合并和冲突问题,也不需要库代码


希望这个答案能帮助一些人,我也要感谢在这里回答问题的人!:

是的,但这不会导致Manifest.xml文件中的冲突吗?每次我们合并时,内容都会有所不同?不,至少不需要在分支后更改freebie中的Manifest.xml,并且不更改master中的Manifest.xml。Git意识到你对freebie做了一个更改,你可能想保留它,并且不会用master中的文件覆盖它,但它会更改master中所有其他较新的文件。如果您确实更改了master中的Manifest.xml,您可能希望以某种方式更新freebie中的Manifest.xml,合并操作也为您提供了这样做的工具。那么uses权限标记的android:required选项呢?它不会这样做吗?或者只是为了设备过滤?我不认为你可以把android:required放在使用权限中。“使用”功能需要指定应用程序适合的设备类型。和