productFlavors设置signingConfig不管用的问题

本文介绍了如何在Android项目中配置不同产品风味(productFlavors)的签名设置,以实现为不同的发布渠道创建带有特定签名的应用程序包。文章通过示例展示了如何在build.gradle文件中指定各种测试和正式发布的签名配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在buildTypes  release里面添加:

productFlavors.dev_.signingConfig signingConfigs.devSign
productFlavors.alphaTest_.signingConfig signingConfigs.devSign
productFlavors.betaTest_.signingConfig signingConfigs.devSign
productFlavors.simulation_.signingConfig signingConfigs.devSign

productFlavors.production_.signingConfig signingConfigs.prodSign

debug里面添加:

initWith(buildTypes.release)

转载于:https://my.oschina.net/u/3705875/blog/1791832

预览 对摄像机实时取流,查看当前摄像机的实时直播画面。 1. 第一步创建播放器 可调用EZOpenSDK类中的 createPlayer 方法创建播放器。 2. 第二步配置播放器 播放器创建完成后需要进行设置handler回调、显示区域,验证码设置等配置。 3. 第三步开始播放 调用startRealPlay开启直播 4. 第四步结束播放 调用stopRealPlay结束直播 5.第五步释放播放器 调用release释放播放器 完整示例代码如下: public class EZRealPlayActivity extends RootActivity implements SurfaceHolder.Callback, Handler.Callback, ... { private EZPlayer mEZPlayer = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // do something // 创建播放器,也可以直接使用EZPlayer类中的方法创建 mEZPlayer = EzvizApplication.getOpenSDK().createPlayer(mCameraInfo.getDeviceSerial(), mCameraInfo.getCameraNo()); // 设置Handler, 该handler将被用于从播放器向handler传递消息 mEZPlayer.setHandler(mHandler); // 设置播放器的显示Surface mEZPlayer.setSurfaceHold(mRealPlaySh); // 可选,设备开启了视频/图片加密功能后需设置,可根据EZDeviceInfo的isEncrypt属性判断 mEZPlayer.setPlayVerifyCode(verifyCode); // 开始直播 mEZPlayer.startRealPlay(); } @Override protected void onStop() { super.onStop(); if (mEZPlayer != null) { // 页面退出或用户主动停止播放时调用stopRealPlay结束直播 mEZPlayer.stopRealPlay(); } // do something } @Override protected void onDestroy() { super.onDestroy(); if (mEZPlayer != null) { // 调用release释放播放器 mEZPlayer.release(); } // do something } @Override public boolean handleMessage(Message msg) { if (this.isFinishing()) { return false; } LogUtil.i(TAG, "handleMessage:" + msg.what); switch (msg.what) { case MSG_VIDEO_SIZE_CHANGED:// 播放器尺寸变化 // do something break; case EZRealPlayConstants.MSG_REALPLAY_PLAY_SUCCESS:// 播放成功消息 // do something break; case EZRealPlayConstants.MSG_REALPLAY_PLAY_FAIL:// 播放失败消息 //播放失败,得到失败信息 ErrorInfo errorinfo = (ErrorInfo) msg.obj; int errorCode = errorInfo.errorCode; // 如果是需要验证码或者是验证码错误 if (errorCode == ErrorCode.ERROR_INNER_VERIFYCODE_NEED || errorCode == ErrorCode.ERROR_INNER_VERIFYCODE_ERROR) { // do something } else { // do something } break; } } } 说明 可调用EZOpenSDK.setVideoLevel(String deviceSerial, int cameraNo, int videoLevel)接口设置视频清晰度,此调节可以在视频播放前设置也可以在视频播放成功后设置。视频播放成功后设置了清晰度,需要先停止播放stopRealPlay,然后重新开启播放startRealPlay才能生效。 开始播放之后在handleMessage回调中会收到通知消息,播放成功消息为EZRealPlayConstants.MSG_REALPLAY_PLAY_SUCCESS,播放失败消息为EZRealPlayConstants.MSG_REALPLAY_PLAY_FAIL;如果是错误码ERROR_INNER_VERIFYCODE_NEED = 400035(需要设备验证码)或者ERROR_INNER_VERIFYCODE_ERROR = 400036(设备验证码匹配),需要开发者自己处理让用户输入验证密码,然后调用EZPlayer.setPlayVerifyCode(String verifyCode)设置密码,然后重新启动播放。依据上述开发文档解答下面代码中是否调用EZOpenSDK.setVideoLevel(String deviceSerial, int cameraNo, int videoLevel)设置清晰度,下面代码中默认清晰度是标清还是高清。apply plugin: 'com.android.application' apply from: "../app-common/build_common.gradle" apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' //如果有用到kapt添加如下配置 kapt { useBuildCache = true javacOptions { option("-Xmaxerrs", 500) } } android { compileSdkVersion rootProject.ext.compileVersion buildToolsVersion rootProject.ext.buildToolsVersion sourceSets { main { jniLibs.srcDirs = ['libs'] } } lintOptions { abortOnError false } defaultConfig { applicationId "ezviz.ezopensdk" minSdkVersion rootProject.ext.minSdk targetSdkVersion rootProject.ext.targetSdk versionCode 5210 versionName "v3" ndk { abiFilters "armeabi-v7a", "arm64-v8a" } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } signingConfigs { myConfig { storeFile file("test.jks") storePassword "abcd1234" keyAlias "key0" keyPassword "abcd1234" v2SigningEnabled true v1SigningEnabled true //gradle升级到5.4.1之后,取值会默认为false。此时打出的包无法在Android7.0以下机型安装 } } //在Android代码块中添加如下配置:(可优化最上图中transformClassDexBuilderForDebug的时间) dexOptions { preDexLibraries true maxProcessCount 8 } buildTypes { debug { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.myConfig //签名 } release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.myConfig //签名 } } productFlavors { } } dependencies { /*萤石SDK核心模块,必须*/ implementation 'androidx.constraintlayout:constraintlayout:2.1.0' implementation 'com.google.android.material:material:1.4.0' implementation 'io.github.ezviz-open:ezviz-sdk:5.21' // 4.19.0版本之后需要自行依赖okhttp和gson库 implementation 'com.squareup.okhttp3:okhttp:3.12.1' implementation 'com.google.code.gson:gson:2.8.5' /*demo的依赖项*/ implementation project(path: ':app-common') implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'androidx.appcompat:appcompat:1.3.0-alpha02' implementation 'cn.bingoogolapple:bga-qrcode-zxing:1.3.4' /*蓝牙设备配网的依赖项*/ implementation files('libs/eziot-ble-release.aar') api "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" api 'androidx.core:core-ktx:1.3.2' api 'com.squareup.retrofit2:retrofit:2.4.0' api 'com.squareup.retrofit2:converter-gson:2.4.0' } //repositories { // maven { url 'https://dl.bintray.com/open-ezviz/mobile-sdk'} //}
最新发布
06-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值