最新3.0版本(Beta 2)的问题我的项目由第三方有1个子模块,所以我只能访问他们的build.gradle.
我的项目有3种口味,snap,uat,production.每个都有2种构建类型,调试和发布.当我尝试构建时,我得到了这个.
Error:Cannot choose between the following configurations of project :lp_messaging_sdk:
- debugApiElements
- debugRuntimeElements
- releaseApiElements
- releaseRuntimeElements
All of them match the consumer attributes:
- Configuration 'debugApiElements':
- Found com.android.build.api.attributes.BuildTypeAttr 'debug' but wasn't required.
- Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't required.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but wasn't required.
- Found org.gradle.api.attributes.Usage 'java-api' but wasn't required.
- Configuration 'debugRuntimeElements':
- Found com.android.build.api.attributes.BuildTypeAttr 'debug' but wasn't required.
- Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't required.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but …Run Code Online (Sandbox Code Playgroud) 我有一个工作区,包含几个不同的应用程序和一个公共的库项目,我希望从Eclipse转换为Android Studio,从Ant转换为Gradle.目前,在我们的ant脚本中,我们会在编译之前替换一些类中的文本,具体取决于构建是用于调试目的,QA,Beta /客户验收测试还是用于发布到Google Play.
我想利用Gradle中的构建变体系统并使用值资源(布尔值,字符串等)来防止构建脚本替换我的类中的文本.
由于在我的所有应用产品中复制所有构建类型的不同值将是一个维护问题,我想将它们放在我的公共库中的构建类型中.我尝试了这个,但无论我在我的app模块中使用哪种构建类型,app模块都会引入公共库模块的Release版本.
有没有什么办法可以让app模块的不同构建类型使用库模块的相应构建类型?
这是从Android Studio运行的,其中Build Variants工具窗口将两个模块显示为使用调试变体.图像应该读取应用程序和库的调试.

这在生产和开发构建中都会发生.我可以连接到开发服务器,重新加载,新代码构建并在设备上运行.
我尝试过的一步一步:
修改代码.
再包:
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
./gradlew clean
react-native run-android - 构建旧版本
react-native run-android --variant=release - 构建旧版本
有没有办法彻底擦除android构建并从头开始构建?我的直觉告诉我,这run-android不是一个完整的清洁构建.
当我运行react-native run-android时,它只在模拟器中安装旧版本的应用程序,并且不会显示更改.
任何建议表示赞赏.
假设我有一个具有三种构建类型的Android应用:
buildTypes {
release {
....
}
optRelease {
....
}
debug {
....
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个依赖模块:
dependencies {
implementation project(':myDependency')
}
Run Code Online (Sandbox Code Playgroud)
假设此依赖项只有两种构建类型(比如debug和release),我想完全控制我的应用程序的哪种构建类型使用哪种依赖项的构建类型。例如,我希望我的应用程序optRelease使用库的release,而应用程序release使用库的debug。
在Android Studio 3.0之前,这曾经是可能的,但是新的构建变体系统似乎不再允许这样做了。
如何明确说明要使用的构建类型?假设我无法控制依赖项,并且无法修改其gradle配置。