首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么把 Run 出来 Apk 发给老板,却装不上!

序 当我们在 Android Studio ,直接 Run 一个项目时,AS 会自动打一个 Debug Apk,并通过 ADB 命令,将 App 安装到我们连接设备上。...Run Apk 2.1 testOnly 属性 我们知道,AS Run 起来 Apk,会使用 Debug 签名进行签名,不过安装不上,并不是签名问题。...虽然 FLAG_TEST_ONLY 属性最早可以追溯到 APK Level 4,但是它其实是在 Android Studio 3.0 上才被默认加入到 APK 。...这就是为什么你无法安装 Run 出来 Debug.apk。 2.2 为什么要这么设计? 这个问题,对于大多数开发者来说,基本上不是问题。...adb install -t debug.apk 如果想要阻止 AS 在 Run 时,构建 APK 增加 android:testOnly 标记,也是有办法

2.4K00
您找到你想要的搜索结果了吗?
是的
没有找到

在Java为什么不同返回类型不算方法重载?

本文已收录《Java常见面试题》:https://gitee.com/mydb/interview 方法重载是指在同一个类,定义了多个同名方法,但每个方法参数类型或者是参数个数不同就是方法重载...doSomething } public void method(Integer id, String name) { // doSomething } } 为什么不同返回类型不算方法重载...从方法签名组成规则我们可以看出,方法返回类型不是方法签名组成部分,所以当同一个类中出现了多个方法名和参数相同,但返回值类型不同方法时,JVM 就没办法通过方法签名来判断到底要调用哪个方法了,如下图所示...: 那为什么返回类型不能做为方法签名一部分呢?...总结 在同一个类定义了多个同名方法,但每个方法参数类型或者是参数个数不同就是方法重载。方法重载典型使用场景是 String valueOf 方法,它有 9 种实现。

3.3K10

不同任务应该选择哪种机器学习算法?

当开始研究数据科学时,经常面临一个问题,那就是为特定问题选择最合适算法。在本文中,将尝试解释一些基本概念,并在不同任务中使用不同类型机器学习算法。...我们可以观察对象组之间一些相似性,并将它们包含在适当集群。有些对象可能与所有集群都有很大不同,因此我们假定这些对象是异常。 ?...现在算法变得很明确: 我们计算特征列相关矩阵,并找到这个矩阵特征向量。 我们取这些多维向量并计算它们所有特征投影。 特征是投影坐标,并且它们数量依赖于特征向量计数,在你计算投影上。...6.神经网络 当我们讨论逻辑回归时候,已经提到过神经网络。在非常具体任务,有许多不同架构是有价值。更常见是,它由一系列层或组件组成,它们之间有线性连接,并遵循非线性关系。...为了简化你工作,已经准备好了它们主要特征结构化概述。 线性回归和线性分类器:尽管表面上看起来很简单,但它们在大量特征上非常有用,在这些特征,更好算法会因过度拟合而受到影响。

1.9K30

配置Android项目 - 一些重要事情

configuring-android-project-little-things-that-matter-d6a9d34c1ce0#.kritv33t1 gitignore 当你在Android Studio创建一个...当从IDE运行或调试项目时,Android Studio会使用Android SDK工具生成调试证书自动为您APK签名。...使用本地调试keystore时有几个问题: 到期日365天 从多台计算机安装应用程序需要先卸载 google服务需要密钥库SHA-1指纹 这就是为什么通常生成调试密钥库并提交到版本控制系统。 ?...这就是为什么最好对发布和调试版本使用不同proguard规则: rules-proguard.pro rules-proguard-debug.pro ?...建议你只在调试时候打开它并且使用detectAll方法来检测所有类型问题。 ? 这里是当你忘记关闭SQLiteCursor日志例子: ? 在模板代码查看StrictMode。

63820

八、从华为HMS Core集成过程看密码学知识

hms通过SDK提供一些能力,即便是离线能力,安装apk之后第一次使用需要联网。因为需要后台校验一些配置信息,还包括指纹、包名、App ID等。如果校验不通过是无法调用这些API。   ...而且运行apk时候,hmssdk会根据你包名去匹配后台该包名底下配置,然后进行验证。...当然使用不同密钥也可以选择用相同密码充当钥匙,就相当于进了你家大门,其余房间门都是同一把钥匙,这样方便记忆。 3.选择签名私钥查看证书并导出指纹。   ...,这个不会重复,可以用来区分不同应用 7.配置项目签名 将已经生成签名文件HmsDemo.jks拷贝到app文件夹下,并打开应用级build.gradle文件(通常是 app/build.gradle...) 在build.gradle文件android闭包添加签名配置信息。

55410

详解Android v1、v2、v3签名(小结)

hash 值(指纹),如果和证书中记录指纹上,就说明证书没有被修改过。...签名校验 签名验证是发生在 APK 安装过程,一共分为三步: 检查 APK 包含所有文件,对应摘要值与 MANIFEST.MF 文件记录值一致。...v2 签名 v2 签名会在原先 APK增加了一个块(签名块),块存储了签名、摘要、签名算法、证书链和额外属性等信息,这个块有特定格式。...V3签名 新版v3签名在v2基础上,仍然采用检查整个压缩包校验方式。不同是在签名部分增可以添加证书(Attr块)。...在这个,会记录我们之前签名信息以及签名信息,以密钥转轮方案,来做签名替换和升级。这意味着,只要旧签名证书在手,我们就可以通过它在 APK 文件,更改签名

2.6K10

app备案公钥指纹包名获取

中国工信部于2023年 8 月份出台了规定,要求移动应用制造商在通过应用市场销售前需向政府备案,8 月底已经开始实行所有在国内运营应用商店必须在上架提交应用程序前备案,而现有的应用程序必须在2024...点我前往工信部原文公告地址这里以某云平台备案为例,他需要填写三个参数确定你App信息:“md5签名、包名、App公钥”添加描述安卓信息获取包名和md5签名相信大家都不陌生了,申请微信开放平台那些大家都填过...添加描述 注意证书别名可能不是你打包apk包名,打包时apk包名是可以随便取,站长喜欢直接用证书别名作为打包apk包名,大家这里会发现这里证书里获取到信息公钥和md5签名apk解析出来是一模一样...添加描述输入证书密码后就可以看到公钥指纹等信息了,这几个参数跟苹果电脑钥匙串工具获取到是一样添加描述如果没有p12证书咋办呢,先在工具中点创建苹果证书生成一条csr证书请求文件,然后点导出p12...添加描述 在弹出窗中上传cer文件,此文件需要去苹果开发者中心下载,传到这里直接查看,无需输入密码添加描述 点击查看cer信息,也可以拿到上面的公钥、指纹等信息工具地址放个人主页中了

1.3K00

【字节码插桩】Android 签名机制 ( 生成 Android 签名文件 | 分析签名文件 | 签名文件两个密码作用 | 三种签名方式 )

别名密码 ; 一个 keystore 可以存放多个密钥 ; 签名相当于一个指纹 , 对 APK 任何修改 , 哪怕在任意资源文件上加上一个空格 , 都会导致签名被破坏 , 无法通过校验 ; 签名时 ,...使用私钥对 APK 加密 ; 安装 APK 包时 , 系统会使用公钥解密 ; 二、生成 Android 签名文件 ---- 生成签名密钥 : 在 Android Studio , 选择 " 菜单栏.../ Build / Generate Signed Bundle/APK… " 选项 , 选择 APK 选项 , 选择创建签名文件 , 在 " Key store path " , 选择签名文件生成路径..., 在弹出对话框 , 点击绿色安卓图标 , 生成在工程根目录 , 输入密码和别名密码 , 都设置为 123456 , 点击 " OK " 即可生成该签名文件 ; 签名文件生成在工程根目录...#1: ObjectId: 2.5.29.14 Criticality=false ; 1 个 jks 文件 , 可以有多个密钥 , 在该扩展 , 可以有多个密钥 ; 上述签名 , 有负责 Java

2.5K30

Android签名校验机制(数字证书)

数字签名是个加密过程,数字签名验证是个解密过程。 为什么签名 最简单直接回答: 系统要求。...: debug签名应用程序不能在Android Market上架销售,它会强制你使用自己签名; debug.keystore在不同机器上所生成可能都不一样,就意味着如果你换了机器进行apk版本升级...,使用jarsigner再次签名导致,建议用V2重签名或者导出一个未签名apk重新签名即可,如果一定要对当前包重新签名,可以选择将文件修改为.zip后缀,然后解压缩,删除META-INF目录,然后再次压缩为...出现该错误原因是因为设备上已经安装了一个同包名但是签名并不一致apk,需要卸载原有apk重新安装签名apk。...] 出现该错误原因是因为设备上已经安装了一个同包名但是签名并不一致apk,并且已经安装应用使用Androiddebug签名文件来签名,即将安装应用使用自定义签名文件签名,需要卸载原有apk重新安装签名

6.3K110

Android 新一代多渠道打包神器

(因为Tinker是通过对比基础包APKAPK生成差分补丁,然后再把补丁和基础包APK一起合成APK。...V2签名和多渠道打包方案 为什么需要V2签名 从前面的V1签名介绍,可以知道V1存在两个弊端: 1)MANIFEST.MF数据摘要是基于原始未压缩文件计算。...V2签名机制 不同于V1,V2签名会生成一个签名块,插入到APK。因此,V2签名APK结构如下图所示: APK签名块位于中央目录之前,文件数据之后。...但是在写入签名块后,修改了EOCD中央目录偏移量,那么在进行V2签名校验时,理论上在“数据摘要校验”这步应该会校验失败啊!但是为什么V2签名可以校验通过那?...(上面已介绍过:修改EOCD中央目录偏移量,不会导致数据摘要校验失败) 用签名块替代旧签名块,生成带有渠道信息APK 实际上,除了渠道信息,我们可以在APK签名添加任何辅助信息。

6K20

大家一起看一看Android P将引入哪些安全性改进

作为一名安全行业从业人员,我们有必要看一看Android最新版本到底引入了哪些安全功能。在这篇文章,我们将主要讨论Android安全方面的改进。...提升指纹验证功能 为了保护数据安全,目前绝大多数设备都拥有不同形式验证功能。新版Android P提供了改进基于生物特征身份验证方法。...在Android 8.1,引入了两个指标来帮助身份特征系统抵御攻击,即SAR(欺骗接受率)和IAR(伪造接受率)。...签名机制v3 AndroidP支持APK签名机制V3,这个版本跟V2相比,主要区别在于增加了密钥轮转支持。对于开发者来说,密钥轮转是非常有用,因为这种机制包含了ApkSignerLineage。...在这个功能帮助下,你可以轻松对一个证书进行签名,并与APK文件进行绑定。虽然签名机制V3在新版本系统是默认开启,但你仍然可以使用旧版本签名证书。

57320

Android签名攻与防

签名验证 一般情况下为了防止被反编译,会把关键代码写到so文件(比如加解密),一般使用到是在so里加上判断APk签名是否一致代码,避免so被二次打包。...所以证书信息是不会改变,这也验证了上面所说RSA证书指纹和.keystone指纹相同问题 2.对CERT.RSA进行详细解析 明确了上面的问题之后,对CERT.RSA 文件进行详细解析,得到下图...(4)可以猜测,部分一其他信息也是从部分二得来,只不过编码方式不一样,所以显示不同而已。...4.2.3 RSA加解密实现 由于Android生成apk文件是以zip文件格式生成,我们可以查看源码查看Android签名校验机制 可参考:Apk在安装过程核心类: frameworks\base...方案一:通过PackageManag对象可以获取APK自身签名 这里得到sign为证书所有数据,对其做摘要算法,例如: MD5可以得到MD5指纹,对比指纹可以进行安全验证。

2.1K50

Android 新一代多渠道打包神器

V2签名和多渠道打包方案 为什么需要V2签名 从前面的V1签名介绍,可以知道V1存在两个弊端: MANIFEST.MF数据摘要是基于原始未压缩文件计算。...V2签名机制 不同于V1,V2签名会生成一个签名块,插入到APK。因此,V2签名APK结构如下图所示: APK签名块位于中央目录之前,文件数据之后。...但是在写入签名块后,修改了EOCD中央目录偏移量,那么在进行V2签名校验时,理论上在“数据摘要校验”这步应该会校验失败啊!但是为什么V2签名可以校验通过那?...(上面已介绍过:修改EOCD中央目录偏移量,不会导致数据摘要校验失败) 用签名块替代旧签名块,生成带有渠道信息APK 实际上,除了渠道信息,我们可以在APK签名添加任何辅助信息。...这里之所以同时支持V1和V2签名方案,主要是担心后续Android平台加强签名校验机制,导致V2多渠道打包方案行不通,可以无痛切换到V1签名方案。后续也会尽快支持命令行工具。

1K20

Android新一代多渠道打包神器

V2签名和多渠道打包方案 为什么需要V2签名 从前面的V1签名介绍,可以知道V1存在两个弊端: MANIFEST.MF数据摘要是基于原始未压缩文件计算。...V2签名机制 不同于V1,V2签名会生成一个签名块,插入到APK。因此,V2签名APK结构如下图所示: ? APK签名块位于中央目录之前,文件数据之后。...但是在写入签名块后,修改了EOCD中央目录偏移量,那么在进行V2签名校验时,理论上在“数据摘要校验”这步应该会校验失败啊!但是为什么V2签名可以校验通过那?...(上面已介绍过:修改EOCD中央目录偏移量,不会导致数据摘要校验失败) 用签名块替代旧签名块,生成带有渠道信息APK 实际上,除了渠道信息,我们可以在APK签名添加任何辅助信息。...后续也会尽快支持命令行工具。

1.4K90

新版百度地图开发版SHA1值和发布版SHA1值获取「建议收藏」

大家好,又见面了,是你们朋友全栈君。...新版百度开发者中心申请appkey时候,增加了发布版SHA1值,开发版一般是默认debug签名,和发布版正式签名生成apk文件sha1值是不同,下面详细说明怎么分别获取开发版和发布版SHA1...首先,开发版SHA1值(也就是debug签名SHA1值)获取方法百度开发者中心文档说很清楚,在此也根据官网说明列出来以方便查看。...cd.android,定位到.android文件夹下 步骤2:输入keytool -list -v -keystore debug.keystore,回车输入密钥(密钥口令是android),再回车会得到三指纹证书...选中Build -> Generate Signed Apk 步骤2:会弹出一个对话窗口,如果没有key,就点击创建一个key 步骤3:在新建key窗口,根据自己需要填写相关项 步骤4:填写我们创建

1.4K20

AndroidAPK签名工具之jarsigner和apksigner详解

一.工具介绍 jarsigner是JDK提供针对jar包签名通用工具, 位于JDK/bin/jarsigner.exe apksigner是Google官方提供针对Android apk签名及验证专用工具...以上两个工具都可以对Android apk包进行签名. 1.V1和V2签名区别 在Android Studio中点击菜单 Build- Generate signed apk… 打包签名过程, 可以看到两种签名选项...无奈,只能查资料… 从Android 7.0开始, 谷歌增加签名方案 V2 Scheme (APK Signature); 但Android 7.0以下版本, 只能用旧签名方案 V1 scheme...存放签名文件(MANIFEST.MF, CERT.SF, CERT.RSA), 其中MANIFEST.MF文件保存所有文件SHA1指纹(除了META-INF文件), 由此可知: V1签名是对压缩包单个文件签名验证...(密钥库可以存在多个密钥对,用于区分不同密钥对) -validity 密钥对有效期(单位: 天) -keyalg 生成密钥对算法(常用RSA/DSA,DSA只用于签名,默认采用DSA) -delete

12.9K20

「万物生长」一个APK从诞生到活跃在Android手机上

是否经常遇到这样情况,同一个项目两个台机器上运行到同一部手机,我们经常会碰到关于签名不同报错。...Full APK Signature / v2 我们知道了Jar Signature签名方式,那现在这个签名方式又是如何实现呢?...在“APK签名分块”内,v2签名签名者身份信息会存储在APK签名方案v2分块。...v3(Android 9 及更高版本) v3新版本签名中加入了证书旋转校验,即可以在一次升级安装中使用证书,私钥来签名APK。当然这个证书是需要老证书来保证,类似一个证书链。...详细内容见于:Android P v3签名特性[7] v4(Android 11) 此方案会在单独文件 (apk-name.apk.idsig) 中生成一种签名,但在其他方面与 v2 和 v3

91020
领券