我目前有一个使用gradle并与travis.ci集成的Android项目,它有不同的productFlavors和buildTypes.当然后在travis.ci上执行"connectedCheck"任务时,它会尝试打包所有构建变体(所有类型和类型的组合).其中一些失败,因为发布版本需要密码输入,我现在无法自动化.有没有办法告诉travis.ci只构建和测试Android项目的某个构建变体?
continuous-integration android gradle travis-ci android-productflavors
我正在尝试通过Parse发送推送通知并集成产品风格.当我实现产品风味时,我无法接收Parse推送通知.有没有人有任何关于纠正这个问题的建议
Gradle app文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.project"
minSdkVersion 16
targetSdkVersion 21
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
productFlavors{
freeApp{
applicationId "com.example.project.free"
}
premiumApp{
applicationId "com.example.project.paid"
}
}
}
dependencies {
compile files('libs/android-async-http-1.4.2-66-g4b6eb97.jar')
compile files('libs/android-support-v13.jar')
compile files('libs/bolts-android-1.2.0.jar')
compile files('libs/Parse-1.9.2.jar')
compile files('libs/ParseCrashReporting-1.9.2.jar')
}
Run Code Online (Sandbox Code Playgroud)
Android Manifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.project"
android:versionCode="1"
android:versionName="1.1" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission …Run Code Online (Sandbox Code Playgroud) android push-notification parse-platform android-gradle-plugin android-productflavors
我试图建立一个项目,该项目依赖于使用“ .so”文件的库模块。
到目前为止,我有:
#版权所有(C)2010 The Android Open Source Project # #根据Apache许可证2.0版(“许可证”)获得许可; #除非符合许可,否则您不得使用此文件。 #您可以在以下位置获得许可的副本 # #http://www.apache.org/licenses/LICENSE-2.0 # #除非适用法律要求或书面同意,否则软件 根据许可协议分发的#是按“原样”分发的, #没有任何明示或暗示的保证或条件。 #有关特定语言的管理权限,请参阅许可证。 #许可中的限制。 LOCAL_PATH:= $(调用my-dir) 包括$(CLEAR_VARS) #在这里我们给出模块名称和源文件 LOCAL_MODULE:=我的模块 LOCAL_SRC_FILES:= $(TARGET_ARCH_ABI)/my-lib.so LOCAL_EXPORT_C_INCLUDES:= $(LOCAL_PATH)/ include 包括$(PREBUILT_SHARED_LIBRARY)
应用插件:“ com.android.library”
android {
编译版本23
buildToolsVersion“ 23.0.2”
defaultConfig {
minSdkVersion 15
targetSdkVersion 23
版本代码1
versionName“ 1.0”
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
buildTypes {
发布 {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
}
}
sourceSets.main.jni.srcDirs = [] //禁用自动ndk-build调用
//默认情况下,将发布样式设置为
defaultPublishConfig“ X86Debug”
publishNonDefault true
productFlavors … android module static-libraries gradle android-productflavors
我有一个引用~100K方法的应用程序,最小Sdk = 16
这是2个组装选项:
现在我有一些常见的用例:
你有人对组装策略有一些建议吗?
3/Prod
2 /测试
1 /调试
这是Gradle文件:
productFlavors {
dev {
minSdkVersion 21
multiDexEnabled ???
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
prod {
// The actual minSdkVersion for the application.
minSdkVersion ANDROID_BUILD_MIN_SDK_VERSION
multiDexEnabled false
}
}
defaultConfig {
applicationId "xxxx"
targetSdkVersion ANDROID_BUILD_TARGET_SDK_VERSION
minSdkVersion ANDROID_BUILD_MIN_SDK_VERSION
versionCode ANDROID_BUILD_VERSION_CODE
versionName ANDROID_BUILD_APP_VERSION_NAME
}
buildTypes {
release {
debuggable false
ext.enableCrashlytics = true
renderscriptOptimLevel …Run Code Online (Sandbox Code Playgroud) android proguard gradle android-productflavors android-multidex
简短 - 是否有办法将风味配置保存在单独的.gradle文件中?
有关更多详细信息 - 我希望将每个风格.gradle文件(如flavorGermany.gradle,flavorUkraine.gradle,flavorItaly.gradle等)与'apply from:'指令一起包含在main gradle中.每个flavor .gradle都包含签名和构建配置.
android gradle android-productflavors android-build-flavors android-flavors
我有一个包含2个模块的项目:library和app。
该library模块当然是一个库,仅具有release和debug构建类型。
该app模块具有4种口味以及release和debug构建类型,总共提供8种构建变体。它还声明了对library模块的依赖关系,如下所示:
compile project(path:':library', configuration:'release')
我希望能够library根据应用程序的build变体设置配置:releasebuild变体应使用release库的版本,debugbuild变体应使用debug库的版本。
显而易见的答案是列出这8个变体中的每一个,并进行适当的配置并且可以正常工作,但这并不是最佳的答案:这很丑陋,会使构建脚本过于混乱。
我已经尝试了一些方法project.configurations.all{}和applicationVariants.all{},但我无法找到一个明确的方法来设置相关性配置。
有没有更清洁的方法可以做到这一点?
我正在尝试为Android Studio 3.0和gradle插件3.0设置不同的构建变体,但Android Studio不会为每个我的风格创建构建变体.Gradle构建是成功的但我不知道如何制作productionapiRealese和germanyapiRelease构建变体.我该怎么做?
我的口味:
flavorDimensions "pr", "ger"
productFlavors {
productionapi {
provider "pk"
dimension "pr"
}
germanyapi {
provider "sd"
dimension "ger"
}
}
Run Code Online (Sandbox Code Playgroud)
我的构建变体:
android gradle android-studio android-productflavors android-studio-3.0
我想从ndk库中获取不同的 字符串 值.因为我有两个风味演示和现场我想要价值"你好我来自演示"的演示风味和现场风味我想"你好我来自现场"
这是我的java文件代码
public class MainActivity extends AppCompatActivity {
// Used to load the 'native-lib' library on application startup.
static {
System.loadLibrary("native-lib");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Example of a call to a native method
TextView tv = (TextView) findViewById(R.id.sample_text);
tv.setText(stringFromJNI());
}
/**
* A native method that is implemented by the 'native-lib' native library,
* which is packaged with this application.
*/
public native String stringFromJNI();
Run Code Online (Sandbox Code Playgroud)
}
这是我的cpp文件代码
#include <jni.h>
#include …Run Code Online (Sandbox Code Playgroud) 目前我正在使用Flutter来构建我的应用程序。
我遵循了一些关于构建不同环境条目文件的指南:
https : //iirokrankka.com/2018/03/02/separating-build-environments/
它创建main_dev.dart和main_prod.dart.
我还学会了为 iOS 和 Android 构建风味:https :
//medium.com/@salvatoregiordanoo/flavoring-flutter-392aaa875f36
现在我可以--flavor <FLAVOR>在命令中使用它来构建不同的风味应用程序。
现在我在尝试结合两种技能时遇到了一个问题。
以下是我想要实现的目标:
development风味->main_dev.dart入口文件
production风味->main_prod.dart入口文件
在 iOS 端,我可以在 .xcconfig 文件中定位入口文件,如下所示:
// ios/Flutter/development.xcconfig
#include "Generated.xcconfig"
FLUTTER_TARGET=lib/main_dev.dart
Run Code Online (Sandbox Code Playgroud)
我知道我可以-t lib/main_dev.dart在flutter run命令后添加。
但是我想问一下是否有任何解决方案可以
在Android端的flavor config中设置flutter目标文件?
感谢任何帮助。
我的颤振应用程序有不同的风格。在 Android Studio 中,所有内容都在风味配置面板中进行设置,但是在 Visual Studio Code 中我可以在哪里进行设置?
我想我必须编辑 configuration.json,但我在网上找不到任何关于如何做的参考。
我不想每次都打字 flutter run --flavor app1 -t lib/main_app1.dart