最近需要把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...