我需要将 list 拆分为平板电脑和手机。
productFlavors {
phone {
applicationId "packageName.app.phone"
buildConfigField 'boolean', 'IsPhone', 'true'
versionName "1.0-phone"
}
tablet {
applicationId "packageName.app.tablet"
buildConfigField 'boolean', 'IsPhone', 'false'
versionName "1.0-tablet"
}
}
使用gradle我拆分了布局和src文件夹,但我也需要拆分AndroidManifest xml文件。任何人都可以提出一些想法我该怎么做。
编辑:
android {
compileSdkVersion 23
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "packagename"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
phone {
applicationId "packagename.app.phone"
buildConfigField 'boolean', 'IsPhone', 'true'
versionName "1.0-phone"
}
tablet {
applicationId "packagename.app.tablet"
buildConfigField 'boolean', 'IsPhone', 'false'
versionName "1.0-tablet"
}
}
}
这是我的全部。
编辑2
因此,通过大量研究:)我找到了答案。我写了像$ {applicationId}这样的包名称。它很好用。但我真的很感兴趣如何拆分 list 文件。任何人都可以共享此主题的链接或其他内容。谢谢。
<receiver
android:name="com.parse.GcmBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="${applicationId}" />
</intent-filter>
</receiver>
最佳答案
考虑到您正在为项目使用默认布局,因此您需要将文件夹结构设置为
app/src/main/AndroidManifest.xml
app/src/phone/AndroidManifest.xml
app/src/tablet/AndroidManifest.xml
这里
main/AndroidManifest.xml
是您的默认 list ,而您在flavor目录中放置的 list 是您具有特殊配置的 list 。然后在构建flavor时将它们与您的默认 list 合并。
关于android - 如何分割AndroidManifest Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35319111/