一个项目有多个AndroidManifest.xml文件?

| 在过去的几个月中,我一直在开发针对Cupcake的Android应用(Android 1.5,API Lvl 3),并且一切运行良好(总体来说这是一个相当简单的应用)。 但是,最近我注意到我想做两件事: 将权限限制为仅使用Internet(对于API Lvl 3,尽管仅在清单xml中定义了Internet权限,但它还使用了2个其他权限) 让用户将应用程序移至SD卡/外部存储设备 这两个更改都非常简单-
AndroidManifest.xml
中的几行 我找到的解决方案是: 要限制权限,请添加:
<uses-sdk android:minSdkVersion=\"4\"/>
http://developer.android.com/guide/topics/manifest/uses-sdk-element.html 要允许用户将应用程序移动到SD卡,请添加(到
manifest
标签):
android:installLocation=\"auto\"
http://developer.android.com/guide/topics/manifest/manifest-element.html 但是,#1的解决方案需要API Lvl 4(Android 1.6),而#2的解决方案则需要API Lvl 8(Android 2.2)! 这是否意味着如果我同时想要上面列出的#1和#2,那么我的应用将仅与Android 2.2+兼容? 或者,是否可以为一个项目使用多个AndroidManifest.xml文件? (我知道该应用程序的实际代码适用于Android 1.5,并且仅在清单文件中多了几行就将它们排除在外似乎很浪费) 谢谢!     
已邀请:
添加ѭ3不会对向后兼容性产生不利影响-较早版本的Android只会忽略它。 但是,设置为
<uses-sdk android:minSdkVersion=\"4\"/>
会阻止该应用在Android 1.5设备上安装或显示在Market上。这就是它的全部目的。 如果您需要对不同版本的SDK具有不同的权限集,那么不幸的是,您将需要两个单独的项目和两个单独的Market列表。您可以通过在
<uses-sdk>
标签上添加
android:maxSdkVersion=\"3\"
来阻止应用的Cupcake版本显示在较新的设备上。     
关于将您的应用移至SD卡。没过引入Android 1.5时,还没有这种概念。这是android 1.5的较新概念 我认为您无法向android 1.5提供此功能 谢谢 迪帕克     
使用Android包重命名可拥有两个不同的包,即在一个项目中具有不同AndroidManifest.xml文件的同一个应用程序。参见https://stackoverflow.com/a/4426654/1173350     

要回复问题请先登录注册