關於安卓檔案混淆後STFP業務無法執行的問題解決

2021-10-03 16:09:40 字數 433 閱讀 4559

最近需要把sftp業務繼承到公司的專案中去,而在整合的過程中遇到了一些難題,本地打包的版本做sftp的業務是沒有任何問題的,而版本構建服伺服器構建的版本卻無法執行,執行後直接crash掉

分析了一下本地打包與伺服器打包的區別,發現乙個是debug模式,乙個是release模式,而release模式下開啟了混淆,因此懷疑是混淆引起的。於是嘗試對jsch的包進行去混淆。

最開始我在proguard-project.txt檔案中加入了

keep class com.jcraft.jsch.**

發現沒有解決問題,後來嘗試把呼叫該jar包的檔案去掉混淆

keep public class com.***.***.***.sftputils

加入這行後,crash問題解決了

對於呼叫jar包引起的混淆問題,一般把呼叫jar包的地方去掉混淆或許能解決問題。

安卓混淆配置檔案說明

混淆檔案的位置 proguard android.txt 預設的混淆檔案 sdk目錄 tools proguard proguard rules.pro 讓我們自行新增混淆規則檔案 相應module的目錄下 proguardfiles getdefaultproguardfile proguard ...

安卓retrofit2混淆後出現介面失敗

背景 安卓專案需要啟用混淆,但是混淆後,發現無法進行登陸,經過反覆對比,確認是混淆導致的。通過debug,發現呼叫網路介面失敗,不過找不到問題原因,日誌和debug都沒有發現什麼線索。幸運的是,在網上搜尋到了一片類似的文章 android使用retrofit2混淆後出現解析失敗的原因 最終順利解決。...

安卓開發 無法在手機本地建立資料夾

你是否 遇到過 怎麼寫都對 但還是無法在手機本地建立資料夾呢 這個時候 你要考慮一下是不是 自己的手機儲存滿了 或者 是作業系統是安卓10 如果是安卓10 不妨試下下面的方法 在清單檔案裡 加入 android requestlegacyexternalstorage true 加的位置是 andr...