android v2簽名、渠道包安裝失敗
android 7.0開始增加了v2簽名,能夠加速app的安裝結束。
v2簽名機制:v2是android 7.0開始引入,使用SHA256雜湊值校驗,會對每個檔案的二進位制位元組進行校驗,對應用提供更安全的保護,不管簽名後對檔案做了任何修改,都會導致在android 7.0以上的機型安裝失敗(提示改安裝包未包含任何證書),v2簽名在編譯的過程中,將會壓縮,調整和簽署合併成一步完成,可以縮短apk在裝置上驗證的時間,加快安裝速度。
最近遇到打完的渠道包在手機上安裝失敗,提示改安裝包未包含任何證書的問題。
簽名方式一(apk正式安裝可以正常使用):
對apk只進行v1簽名,跑指令碼生成渠道包,之後不需要重新簽名,安裝成功。
簽名方式二(出現安裝失敗)
1、對apk進行v1和v2同時簽名,跑指令碼生成渠道包,安裝失敗。
2、對apk進行v1和v2同時簽名,跑指令碼生成渠道包,重新進行簽名,安裝成功。
渠道包沒有重新簽名安裝失敗的原因?
我們是通過在apk的META-INF資料夾下寫入一個空檔案來標識不同渠道包,因為v2的簽名機制一旦對檔案進行了修改,就會破壞簽名,使簽名失效,所以就會報安裝包未包含任何證書。
解決方案:重新簽名就好了
相關推薦
android v2簽名、渠道包安裝失敗
android 7.0開始增加了v2簽名,能夠加速app的安裝結束。 v2簽名機制:v2是android 7.0開始引入,使用SHA256雜湊值校驗,會對每個檔案的二進位制位元組進行校驗,對應用提供更安全的保護,不管簽名後對檔案做了任何修改,都會導致在android 7.0以上的機型安裝失敗
MySQLdb、 flask-MySQLdb 、MySQL-python 安裝失敗
sql mod tro 需要 -m error mysql apt ask 今天在學習flask的時候,學習到數據庫部分,連接mysql生成表,運行程序報錯誤:No module named MySQLdb 此時 需要安裝 以下兩個中任何一個 pip instal
rpm包安裝失敗的解決辦法
author: headsen chen date : 2018-10-15 14:24:36 1,故障現象: # rpm -ivh zabbix-agent-3.4.11-1.el6.x86_64.rpm rpmdb: Thread/proc
第三方npm包安裝失敗
最近升級一些第三方庫,老是出現無法正常安裝npm的現象。 一、問題現象 1、webpack4安裝失敗 // 報錯資訊 webpack Maximum call stack size exceeded // 解決方案 npm i -D [email protected]
yum更換國內源、下載rpm包、原始碼包安裝
一、yum更換國內源 1. 還原配置檔案 1. [[email protected] ~]# rm -f /etc/yum.repos.d/dev.repo #刪除之前本地的配置檔案 2. [[email protected] ~]# cp /
Ubuntu10.04 apt-get 軟體包安裝失敗的一種問題處理
Reading package lists... DoneBuilding dependency treeReading state information... DonePackage vim is not available, but is referred to by another package.T
安裝DevStack時,遇到一些Python包安裝失敗,如何手動安裝補救的問題
首先,可以檢視/opt/stack/logs/目錄中的的日誌。 因為OpenStack的包大多是Python原始碼包,所以安裝方式與C++的make; make install;有所不同。 首先下載安裝包: 然後解壓: tar -zxvf your.tgz #
解決問題:Android Studio Run時,APP安裝失敗--Installation failed with message Failed to establish session.
剛開始使用Android Studio, 使用的是紅米Note 3 , MIUI 7.3 ,Run時,app安裝不到手機上,提示: Installation failed with message Failed to establish session. It is pos
pip install scrapy,提示安裝lxml包安裝失敗的解決方案
開發環境:python 2.7.12 系統:windows10 錯誤提示:make sure the development packages of libxml2 and libxslt are installed 錯誤原因猜想:因為pip安裝時會安裝最
android指定簽名的apk才能安裝
最近專案有需求: 只有使用特定簽名籤的apk才可以安裝,其他任何apk都不能安裝(root版,使用adb push進去的除外),以供以後參考。 我們已經知道的是:Android對每一個Apk檔案都會進行簽名,在Apk檔案安裝時,系統會對其簽名信息進行比對
Win安裝VS2015中文語言包安裝失敗問題
一些網友已經將問題反饋到微軟,但是得到的迴應是問題無法再現,著實讓人鬱悶,因為VS2015正式版尚未推出,糾結的猿友可以參考本文內容解決這個問題。首先我們需要在微軟官方網站下載VS2013中文語言包,連結在此,下載後將安裝檔案放在某一資料夾下並建立快捷方式到桌面。 之後右鍵
Android 打渠道包出來之後安裝失敗
問題: 發現打出來的渠道包在7.0的系統上無法安裝,在安裝頁面提示無效或者安裝失敗之類的 原因: 為了提高Android系統的安全性,Google從Android 7.0開始增加一種新的增強簽名模式,從Android Gradle Plugin 2.2開始,構建系統在打
Android菜鳥筆記- 獲取未安裝的APK圖標、版本號、包名、名稱、是否安裝、安裝、打開
ack ear 例如 start true intent ble post oca 周末閑來無事,把Android的基礎知識拿出來復習復習,今天主題是《獲取未安裝的APK圖標、版本號、包名、名稱、是否安裝、跳轉安裝、打開》 一、獲取APK圖標 通常讀取APK的圖標能夠用
Android Studio 2.3 以後給apk簽名打包後安裝失敗的問題
本人java小白,最近一直在學習java,然後接觸到AS,apk簽名打包完成並顯示打包成功(具體簽名步驟看Android Studio 程式簽名打包),在驗證簽名打包是否真的成功,發現結果顯示沒有簽名。如下圖: 谷歌搜尋了一些解決方法,發現 官網上的解釋: 標紅的地方已經提到
Android安裝APK時提示安裝包異常導致安裝失敗
今天本屌在簽名打包APK的時候遇到了一個問題 那就是 這個問題很奇葩,百度了居然沒有任何答案,我在OPPO論壇百度到了相關問題,管理員回覆這是OPPO為看保障使用者權益XXX的,嚇死寶寶了 百度無果,只能去群裡問了,在群裡好心朋友的提醒下 我察覺到簽名的問題(簽名:這個鍋我不背)
【Android】獲取手機中已安裝apk檔案資訊(PackageInfo、ResolveInfo)(應用圖片、應用名、包名等)
眾所周知,通過PackageManager可以獲取手機端已安裝的apk檔案的資訊,具體程式碼如下 PackageManager packageManager = this.getPackageManager(); List<PackageInfo> pac
Android studio簽名打包後安裝出現解析包有問題
用Android studio簽名打包後安裝在一些手機上解析包出現問題,因為不涉及網路從伺服器下載安裝包,所以很大情況是由於手機系統版本過低造成。基於此,as開發預設會使用最新的SDK,所以要修改一下安裝在裝置最低版本,在build.gradle檔案中修改,一般
Android:應用內下載更新app,apk包在Android7.0以上系統安裝失敗
最近又更新了一下Android studio的gradle版本 結果。。。 與儲存相關的無一倖免,Android6.0引入的動態許可權控制(Runtime Permissions),Android7.0又引入“私有目錄被限制訪問”,“StrictMode API 政策”。
android簽名包安裝問題解決
[-keystore <url>] 金鑰庫位置 [-storepass <口令>] 用於金鑰庫完整性的口令 [-storetype <型別>] 金鑰庫型別
Android apk安裝過程及Java、JNI讀取安裝包內assets資原始檔的兩種方法(附原始碼例項)
問題背景:在PC上的程式可以輕鬆使用./或不用指明,預設讀取的就是程式所在路徑內的檔案。但在Android上,應用程式被打包成apk,程式執行時無法直接獲取apk(壓縮包)內的檔案。但在一些特殊場合,如載入影象處理訓練好的分類器、模型等資料,要求每個apk到手機上都能執行,就