Android 风格签名未按预期工作

2024-02-24

我需要使用特定的签名配置来签署产品风格。我在 stackoverflow 上找到了一些参考资料,例如this https://stackoverflow.com/questions/30898611/gradle-signing-flavors-with-different-keys-on-android and this https://stackoverflow.com/questions/17040494/signing-product-flavors-with-gradle。它适用于我的风味发布版本,但不适用于调试版本。我在 gradle 中有这样的配置:

...
signingConfigs {
    release {
        storeFile file("../config/keystores/release_keystore")
        storePassword "mysecurepassword"
        keyAlias "myultrasecurealias"
        keyPassword "myreallysecurekeypassword"
    }

    debug {
        storeFile file("../config/keystores/debug.keystore")
        storePassword "mysecurepassword"
        keyAlias "myultrasecurealias"
        keyPassword "myreallysecurekeypassword"
    }

    other {
        storeFile file("../config/keystores/other")
        storePassword "mysecurepassword"
        keyAlias "myultrasecurealias"
        keyPassword "myreallysecurekeypassword"
    }
}

flavorDimensions "dim"

productFlavors {
    production {
        dimension "dim"
    }

    other {
        dimension "dim"
    }
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        
        productFlavors.other.signingConfig signingConfigs.other
        productFlavors.production.signingConfig signingConfigs.release
    }

    debug {
        productFlavors.other.signingConfig signingConfigs.other
        productFlavors.production.signingConfig signingConfigs.debug
    }
}

这对于味道来说非常有效otherRelease。但我的 APK 没有被签名other当我使用构建配置时签名配置otherDebug. The release版本已正确签名。

有谁知道为什么在调试模式下签名配置没有按照配置应用?


我终于弄清楚出了什么问题,感谢@AllanHasekawa 在另一期中的评论:。简而言之,我必须添加signingConfig null inside buildTypes因为Android添加了一些默认的签名配置。尽管我试图超越它。根据我的问题完成示例:

...
signingConfigs {
    release {
        storeFile file("../config/keystores/release_keystore")
        storePassword "mysecurepassword"
        keyAlias "myultrasecurealias"
        keyPassword "myreallysecurekeypassword"
    }

    debug {
        storeFile file("../config/keystores/debug.keystore")
        storePassword "mysecurepassword"
        keyAlias "myultrasecurealias"
        keyPassword "myreallysecurekeypassword"
    }

    other {
        storeFile file("../config/keystores/other")
        storePassword "mysecurepassword"
        keyAlias "myultrasecurealias"
        keyPassword "myreallysecurekeypassword"
    }
}

flavorDimensions "dim"

productFlavors {
    production {
        dimension "dim"
    }

    other {
        dimension "dim"
    }
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

        // this loop is a better implementation than my previous example
        productFlavors.all { flavor ->
                flavor.signingConfig signingConfigs.release
        }        
        productFlavors.other.signingConfig signingConfigs.other
    }

    debug {
        signingConfig null
        // this loop is a better implementation than my previous example
        productFlavors.all { flavor ->
                flavor.signingConfig signingConfigs.debug
        }
        productFlavors.other.signingConfig signingConfigs.other
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 风格签名未按预期工作 的相关文章

  • 为什么 Android 服务在测试时不是单例的?

    当运行大量测试套件时 我注意到我的一个 Android 服务不再是单例的 Android 服务应该是单例的 但是当使用 ServiceTestCase 时 我的引用计数超过 1 在 onCreate 中递增 在 onDestroy 中递减
  • 围绕二维坐标系中的特定点缩放

    Below is an image my coordinate system 我想做的是 我想开始围绕画布中的特定点进行缩放 缩放工作正常 但我的问题是我不知道如何计算缩放时移动画布的量 请注意 我我没有使用canvas scale 我只是
  • Android:每次单击导航抽屉项时创建一个新片段更好,还是加载以前创建的片段更好?

    我正在为 Android 实现标准导航抽屉模式 用户可以从抽屉中导航到大约 10 个片段 目前 每次单击不同的导航抽屉项目时 我都会创建一个新的片段 如下所示 When a new navigation item at index is c
  • Android:创建具有关系的 SQLite 数据库

    我正在尝试创建一个需要具有一对多关系的两个表 SQLite 数据库的应用程序 基本上 第一个表将允许用户创建一名员工 当他们点击该员工时 他们将进入第二个活动 该活动将允许用户为该员工添加多个电话号码 这些电话号码存储在第二个表中 我真的不
  • 使用 Android WebViewClient 启用特定 SSL 协议

    我的应用程序使用WebViewClient与服务器建立 SSL 连接 服务器配置为仅接受 TLSv1 1 及以上协议 使用 Android 时 如何检查哪些 SSL 协议是 a 支持的和 b 默认启用的WebViewClient在设备上 如
  • Gradle 守护进程在“完成作业”步骤中被终止

    我有一个 构建 管道 它在我的 java 代码上运行 gradlew build 然后将 jar 作为工件导出 它目前正在自托管代理上运行 因为我希望这将有助于加快编译速度 我注意到 在每次运行开始时 它都会说它正在启动一个新的守护进程 因
  • 自定义视图的Ondraw无限循环android

    我的自定义视图的 OnDraw 函数被无限调用并且正在循环 可能的原因是什么 这是我的自定义视图 public class Balls extends View private static final String TAG BallsVi
  • 在 Samsung Galaxy S 上调用 RingTonePreference 时出现 NullPointerException

    在 Samsung Galaxy 上调用 RingTonePreference 时 我收到以下消息 在其他手机上一切正常 java lang RuntimeException Unable to start activity Compone
  • 如何修复 Android 7.0 的 Spinner 模式下的 DatePickerDialog?

    我目前正在开发一个简单的项目 其中包含一个包含在 Web 视图中的网站 具有少量交互 以提高网站本身和 Android 移动设备之间的交互性 由于该网站包含用户生日的日期输入字段 因此我希望实现一个与所有设备兼容的旋转格式的日期选择器 我尝
  • 防止 FragmentPagerAdapter 中的 WebView 重新加载?

    我有一个 FragmentPagerAdapter 用于显示大约 6 个选项卡 所有选项卡都从 Web 服务器加载数据 其中一个选项卡包含一个从我的服务器加载图像的 WebView 生成图像的服务器端成本很高 因此我想减少重新加载 WebV
  • 在 Marshmallow 中获取蓝牙本地 mac 地址

    在 Marshmallow 之前 我的应用程序将通过以下方式获取其设备 MAC 地址BluetoothAdapter getDefaultAdapter getAddress 现在 随着 Marshmallow Android 的回归02
  • Android系统每个应用程序的通知限制

    这可能偏离主题 但我找不到任何相关内容 Android应用程序可以显示的通知数量有限制吗 我在收到 100 条通知后遇到问题 没有文件明确说明这一点 注意 显示 100 条通知并不是一个好主意 但由于某些原因这是必需的 In API23 包
  • Webview 电子邮件链接 (mailto)

    我有一个视图并查看该网站有用于发送电子邮件的 malito 代码 当我打开链接时 会出现错误 我希望当我打开链接时打开 Gmail 应用程序或其他电子邮件应用程序 感谢所有帮助者 public class teacher extends A
  • 如何使用云打印打印Android活动显示

    我正在尝试将 Google 云打印实现到应用程序中 遵循集成指南 https developers google com cloud print docs android 我试图通过打印 google com 来保持基本 单击我创建的打印按
  • 如何在kotlin中使用Coroutine每秒调用一个函数

    我刚刚创建了一个应用程序 其中我的函数 getdata 每秒调用一次以从服务器获取新数据 而 updateui 函数将更新 UI 中的视图 我在我的应用程序中不使用任何异步任务或协程 我想这样做 请告诉我我怎样才能做到这一点 这是我的代码
  • 向 grtty 任务添加依赖项

    我在用着gretty 插件 http akhikhl github io gretty doc index html在摇篮里 它有效 我可以列出任务 例如appRun 并执行它们 但是当我尝试添加依赖项时找不到任务 apply plugin
  • 读/写带有特殊字符的.txt文件

    I open Notepad Windows 并写 Some lines with special characters Special 并前往另存为 someFile txt 与Encoding set to UTF 8 在Java中我有
  • 从包中发布的错误通知无法展开 RemoteViews

    我有个问题 有时我的服务会被这个 logcat 强制关闭 03 26 20 44 44 849 E AndroidRuntime 12080 FATAL EXCEPTION main 03 26 20 44 44 849 E Android
  • 如何处理两个 gradle 插件的任务冲突?

    我使用 gradle 和两个插件com jfrog artifactory and io swagger core v3 swagger gradle plugin 现在我想按照此处所述进行配置https github com swagge
  • Libgdx 和 Google 应用内购买结果

    我遵循了这些指示 https github com libgdx libgdx wiki Interfacing with platform specific code使用 ActionResolver 接口集成 Libgdx 和原生 An

随机推荐

  • WCF + Windows Phone 7

    是否可以使用 Windows Phone 7 应用程序的 WCF 服务 任何链接都会非常有帮助 Thanks 以下是将 WP7 应用程序连接到 WCF 服务的快速演练 向右滚动到他的第一个教程 AfricanGeek Silverlight
  • 调用 XSL 模板时的可选参数

    有没有办法使用可选参数调用 XSL 模板 例如
  • 撤消“设置为起始页”

    我将 ASP net 页面之一设置为 Visual Studio 中的默认起始页 当我尝试调试我的项目时 这会导致 404 错误 我该如何清除这个 Thanks Barry 右键单击 MVC 项目并选择属性 转到网络选项卡 在 开始操作 下
  • TFS 中的孤立分支

    我们在 TFS 中有一个主干 每个人都在工作 直到我们需要分支为止 我们的上一个项目是一个需要分支的大型功能 现在开发已经完成 更改已合并回主干 开发分支应该发生什么 我应该删除它吗 以某种方式将其标记为只读 隐形和锁定怎么样 You ca
  • 如何从两个列表中删除与单独列表的重复值相对应的非最大值索引?

    我有两个列表 第一个列表代表观察时间 第二个列表代表这些时间的观察值 我试图在给定不同长度的滚动窗口的情况下找到最大观测值和相应的时间 例如 这是两个列表 observed values linspeed 280 0 275 0 300 0
  • 是否有任何理由从资源中预加载可绘制对象?

    Android 是否维护应用程序可绘制资源的内存缓存并重用它们 或者预加载可能动态分配给不同小部件的所有可绘制资源是一个好习惯吗 例如 public static final int SETS R drawable set0 R drawa
  • 为什么 RelayCommand 中使用弱引用?

    我最近从 MVVMLight 3 升级到 4 并注意到我的命令损坏了 事实证明 在新的 RelayCommand 在版本 3 5 中实现 中使用弱引用导致我正在使用的代码构造失败 我知道存在一些与内存泄漏有关的弱引用的争论 我只是不明白 这
  • 如何将枚举值添加到列表中

    我有以下枚举 public enum SymbolWejsciowy K1 K2 K3 K4 K5 K6 K7 K8 我想使用此枚举的值创建一个列表 public List
  • 如何在Github上显示Markdown文件中的图像?

    我想在 Github 上的 Markdown 文件中显示一些图像 我发现它是这样工作的 Figure 1 1 https raw github com username repo master images figure 1 1 png F
  • 如何使用 underscorejs 进行分组并获取平均值

    如何分组category并使用下划线获得平均值 我有一系列对象 它应该按以下方式分组category和平均值Analytics计算自val属性 即 1 2 gt 3 3 类别总数 所以 3 2 gt 1 5 预期输出 Analytics 1
  • 如何检查 vDSP 函数在 neon 上运行的是标量还是 SIMD

    我目前正在使用 vDSP 框架中的一些函数 尤其是 vDSP conv 我想知道是否有任何方法可以检查该函数是否调用标量模式或在 neon 处理器上处理 SIMD The 文档 https developer apple com libra
  • iOS 5:设置输入类型的最小值和最大值=“日期”

    我想弄清楚如何设置一个的最小值和最大值input type date 我在网上找不到任何东西 也没有自己弄清楚 我需要设置最小值和最大值来验证年龄 我想这可能是这样的
  • 为什么没有对未使用的 let 绑定发出警告?

    C 对作为编译时常量的未使用变量发出警告 static void Main string args var unused hey CS0219 The variable unused is assigned but its value is
  • 如何在 IBM System i Access for Windows GUI Tool 中调用存储过程

    我想测试在 AS400 系统上运行的 DB2 存储过程 我安装了 IBM System i Access for Windows 并且可以针对 DB2 数据库运行 SQL 命令 我的问题是 执行接受参数并返回结果作为输出参数并将值打印到屏幕
  • 在 Node.js 中通过 ejs 使用 AJAX

    我想弄清楚如何在node js中使用ajax 我现在有这个 我如何在我的内部显示例如 order 0 name 和 order 1 name div id champ 当我按下名为 Press 的按钮时 app js var express
  • Internet Explorer 中的 RGBa

    我知道IE不支持RGBa 我还知道您可以使用以下方法 For IE 5 5 7 filter progid DXImageTransform Microsoft gradient startColorstr 99000000 endColo
  • 检查输入字段是否在普通 JavaScript 中具有焦点

    使用 jQuery 我可以测试输入字段是否具有焦点 如下所示 if is focus 不使用 jQuery 如何做到这一点 这个问题在这里得到了回答 Javascript 检测输入是否获得焦点 https stackoverflow com
  • tomcat无法建立ssl连接

    我无法与 tomcat 建立 ssl 连接 Chrome 写道 107 net ERR SSL PROTOCOL ERROR 我已经通过 keytool 生成了 mystore 文件 gt keytool genkey alias tomc
  • 使用PySpark以本地模式读取文件时出现OutOfMemoryError

    我有大约十几个 gpg 加密文件 其中包含我想使用 PySpark 分析的数据 我的策略是将解密函数作为平面映射应用到每个文件 然后在记录级别进行处理 def read fun generator filename with gpg ope
  • Android 风格签名未按预期工作

    我需要使用特定的签名配置来签署产品风格 我在 stackoverflow 上找到了一些参考资料 例如this https stackoverflow com questions 30898611 gradle signing flavors