为每个产品风格使用不同的Android SDK(原生和自定义)

3

我需要对我的应用程序同时构建针对原生 Android SDK 和带有 AOSP 修改的特定设备的自定义 Android SDK。

我的想法是在我的 build.gradle 中使用 product flavors 来有条件地指向正确的 SDK 目录。基本上,我正在寻找以下效果的东西:

productFlavors {
    stock {
        sdk.dir "/path/to/stocksdk"
    }
    mydevice {
        sdk.dir "/path/to/customsdk"
    }
}

查看ProductFlavor DSL文档,没有设置SDK目录的属性。

我可以通过哪些其他方式实现类似的结果?

1个回答

3

这是一个有趣的问题,但不幸的是您不能为每个productFlavorsbuildTypes使用不同的SDK。您只能在项目级别上设置。

Product flavors can customize the following properties:

minSdkVersion
targetSdkVersion
versionCode
versionName
package name (overrides value from manifest)
release signing info (keystore, key alias, passwords,...).
BuildConfig: Ability to provide custom Java code.
NDK ABI filter (Not implemented yet)
test info
package name for test app (optional, default is <base>.test)
InstrumentationTestRunner class (optional)
Additionally, Product Flavor can provide their own source code, resources and manifest.

并且

A Build Type provides configuration for the following build properties:

manifest debuggable flag
native compilation debug flag
proguard enabled + specific rules (Not implemented yet)
debug signing flag (ie whether to use debug key or release key)
package name suffix (2)
version name suffix (new in milestone 0.3)
Buildconfig
DEBUG flag. Set automatically based on the manifest debuggable flag.
Ability to provide custom Java code.

源代码(构建系统概念在http://tools.android.com/tech-docs/上)

我还能用什么方法实现类似的结果?

您可以将此项目作为库项目,并创建具有不同SDK的包装器项目,仅使用库中的功能。因此,现在您有了单独的包装器项目而不是productFlavors,您可以在local.properties文件中更改每个包装器项目的sdk.dir


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接