Q1 :
最近在做一個工程, 要使用音視頻解碼. 其他部門給我分別提供了視頻解碼庫和音頻解碼庫, 我想把這兩個混淆打在一起形成一個統一的音視頻解碼庫. 在進行混淆打包的時候會出現很多警告信息, 而僅僅打入一個包的時候卻沒有問題..
A1:
問題出現的原因是: 音頻和視頻解碼庫是兩個分別的jar, 也都是混淆的, 這樣導致了這兩個包里面都有a.class, b.class等等. 導致有類同名的問題存在..讓底層重新打包一次問題就解決了
Q2:
在混淆的時候需要指定keep參數, 即不參與混淆的類, 其實這些類就是提供給上層應用的接口.
開始我是使用以下方式來指定keep參數的:
public class com.hik.decoder.*
但是發現打包后的結果是導入的jar都沒有打到這個生成的jar里面, 導致生成的jar只有2-3k..
后來發現正確的指定的keep參數的方式還是需要乖乖的輸入每個要keep的類, like following:
class com.hik.decoder.CLASS1{public *;}
class com.hik.decoder.CLASS2{public *;}
class com.hik.decoder.CLASS3{public *;}
class com.hik.decoder.CLASS4{public *;}