即使在已匯入Vpon JAR檔的狀況下,
在做Proguard(程式碼模糊混淆)產出程式,
Vpon仍會顯示沒有正確的Adapter接收廣告
造成廣告無法正常顯示的問題。
出錯的LOG如下︰
Caught an exception in adapter:
java.lang.Exception: Invalid adapter
at com.adwhirl.a.a.a(Unknown Source)
at com.adwhirl.AdWhirlLayout.d(Unknown Source)
at com.adwhirl.b.run(Unknown Source)
這個問題後來我發現︰
如果直接使用debug模式輸出程式時,
Vpon廣告是能顯示的。
原來是被Proguard混淆時,
打亂了廣告接收器(Adapter)。
解決方法︰
在Proguard腳本(proguard.cfg)中加入以下程式碼
-dontwarn com.vpon.** -dontwarn javadoc.** -dontwarn properties.** -dontwarn com.adwhirl.** -keep class com.vpon.** { *; } -keep class javadoc.** { *; } -keep class properties.** { *; } -keep class com.adwhirl.** { *; }
上面這些是adOn.jar和adwhirl.jar裡所有的套件名稱,
在劇本裡下這些指令就能跳過混淆這2組jar檔,
讓廣告順利產出。
相關文章︰
1.Conversion to Dalvik format failed with error 1的可能性 [2014/06/26攢寫]
2.Tapjoy與Proguard的親密接觸 [2013/12/30攢寫]
3.Android proguard issue - Can't read [proguard.ClassPathEntry@1a0c10f] (No such file or directory) [2011/08/01攢寫]
4.關於程式碼混淆proguard [2011/07/31攢寫]
5.Admob的另一個選擇Vpon
2.Tapjoy與Proguard的親密接觸 [2013/12/30攢寫]
3.Android proguard issue - Can't read [proguard.ClassPathEntry@1a0c10f] (No such file or directory) [2011/08/01攢寫]
4.關於程式碼混淆proguard [2011/07/31攢寫]
5.Admob的另一個選擇Vpon
請問一下!使用Proguard會影響ITelephony.aidl文件嗎?如果會的話,那proguard.cfg要增加什麼參數?
ReplyDelete這部份我沒有相關經驗。
ReplyDelete我比較直接的做法都是直接將apk檔輸出,如果有衝突(譬如檔案包不出來),再依錯誤訊息去找相關討論。
抱歉沒能幫上忙,可能真的要從Proguard官網去追溯相關文章。