一堆鳥毛fffqfqffqfqfqfqqffqfqfqqffqfq



因為某些原因..........

app必須要改些東西

誰叫三爽的手機.....使用了某個套件會直接炸裂

fffqfqfqfqfqfqfqfq
fqfqfqfq
fqfqfqfqfqfqqf
fqfq
fqfqfqfqfq
fqqffqfq
fq
fq
fqfqfqfqqf

那個套件事就是甚麼Digits

Twitter fabric

有興趣可以看看.............三方免費簡訊驗證的東西

https://get.fabric.io/

總之這東西包在手機app裡

使用者透過這東西 可以發驗證簡訊到人家手機

而我們開發者或說廠商公司 不用付這簡訊的費用

其實算是滿方便der說


但我可以很確認這東西在大多數samsung手機上

是不work的

會導致精心策畫寫好的app 一開啟直接把手機炸掉

fffqfqfqfqfqfqfqfqfq
fqfq
fqfq
fqfqfqfqfqfq
fqqf
fqfqfqfqfq

已經有很多實例證明了說


起初我也不知道有這問題

everything is fine

在我的LG 跟公司的asus都正常運作

誰知道放上去google play

三爽的下載後用了就把手機給炸了

情非得已0rzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz


整個囧到會死

囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧


後來就是找了朋友出來debug他的破手機

三爽的note 2

他的狀況跟傳聞所說的一致

就是打開app 炸裂

我用Android Studio 做debug

但這問題根本沒進去debug......................極度懊惱ing

只好透過Android Monitor看Logcat

看發生啥事

我就大概複製了 錯誤訊息 之後回家研究


大致有找到原因是

MultiDex的關係

當JAVA 裡面的method超過65k 必須要用這東西

不然會編譯失敗...

但我用了這東西

所以只能想辦法排除超過65k的狀況

起初的判斷是

因為加了這個三方免費發簡訊導致必須要使用MultiDex

在我好久以前的記憶是因為這東西才讓我逼不得已開啟這功能


但移除了之後發現.........

幹還是必須用MultiDex

幹我瞬間囧到講不出話...........

囧到翻了


後來東看西看我google了一個東西

發現google play這東西

超級無敵一大包.............

超超超超超超級大包

我包了這個

compile 'com.google.android.gms:play-services:xxx'

它裡面涵蓋了一堆OOXX

Google+ com.google.android.gms:play-services-plus:8.4.0
Google Account Login com.google.android.gms:play-services-auth:8.4.0
Google Actions, Base Client Library com.google.android.gms:play-services-base:8.4.0
Google Address API com.google.android.gms:play-services-identity:8.4.0
Google App Indexing com.google.android.gms:play-services-appindexing:8.4.0
Google App Invites com.google.android.gms:play-services-appinvite:8.4.0
Google Analytics com.google.android.gms:play-services-analytics:8.4.0
Google Cast com.google.android.gms:play-services-cast:8.4.0
Google Cloud Messaging com.google.android.gms:play-services-gcm:8.4.0
Google Drive com.google.android.gms:play-services-drive:8.4.0
Google Fit com.google.android.gms:play-services-fitness:8.4.0
Google Location, Activity Recognition, and Places com.google.android.gms:play-services-location:8.4.0
Google Maps com.google.android.gms:play-services-maps:8.4.0
Google Mobile Ads com.google.android.gms:play-services-ads:8.4.0
Mobile Vision com.google.android.gms:play-services-vision:8.4.0
Google Nearby com.google.android.gms:play-services-nearby:8.4.0
Google Panorama Viewer com.google.android.gms:play-services-panorama:8.4.0
Google Play Game services com.google.android.gms:play-services-games:8.4.0
SafetyNet com.google.android.gms:play-services-safetynet:8.4.0
Google Wallet com.google.android.gms:play-services-wallet:8.4.0
Android Wear com.google.android.gms:play-services-wearable:8.4.0

可以看這邊

https://developers.google.com/android/guides/setup


但我不得不包這包是因為

如果不包這東西

我的app會收不到push

但包了

又必須要用MultiDex

我囧慘了..............


後來就是先拿掉了這個

試試看包

com.google.android.gms:play-services-gcm:8.4.0

這東西

(GCM是google發push的東西 但也許用途更廣沒研究 囧rz)

但包了依舊收不到push..........

只能哭了

就先不管

拿掉google play這包library

就拿掉了MultiDex 甚至還保留了免費發簡訊的東西

假如可以正常work

我可以省下非常多事

但悲慘的是.............我出了這樣的版本給朋友測試

一樣狀況

開啟app直接炸裂

ffffqfqfqqffqfqfqfqfqfqfqfffffqfqfq

所以是Twitter的這個免費發簡訊在三星手機上 會爆炸fffqfqfqfqfqfqfqfqfq

但不得不提一下...........拿掉MultiDex後的app 速度快很多..........ffffqfqfqfqfqfqfqfqfqqffq



總之還是只好把twitter fabric(免費簡訊功能)拿掉了

自己寫

但首先要解決收不到push的問題........

我又他媽google了一堆文章

通通她媽無解

後來我看了最初的instruction

他是包這東西

    compile 'com.parse.bolts:bolts-android:1.+'
    compile 'com.parse:parse-android:1.+'

原先寫法是包一個 jar檔

compile fileTree(dir: 'libs', include: 'Parse-*.jar')


換用這個就可以正常收到push了..........

obviously, 顯然這個parse的jar沒寫好..............我她X的...

害拎北搞了好久

搞到我這版本第一次成功收到push的那瞬間

我都哭了........



接下來就是串接server的發簡訊API

我自己寫的API 讓我寫的app去呼叫

只能說好在我同時handle這兩樣東西

因為過程我還改了很多server上API的程式

fffqfqfqfqfqfq
fqfqfqf
qfqfqfqfqfqfqfqfqfqfqfqfq

沒辦法囧.........有時候事情多多der 反而讓我事情簡化多了

因為我就不用一直拜託人..............改甚麼洨的

拎北自己改就好

ffqffqfqfqfqfqfqfqfqfqfqfqfq


以為一切都會很順利.......

結果我幹你娘的0rz||||||||||||||||

因為發簡訊要透過手機叫server發, server產生驗證碼後 在發簡訊給手機

但到這邊我怎麼發request

他的HTTP狀態碼都噴500.......

Internal Server Error

北七死..............但我用網頁開這位置都是正常的

瘋了

而且用apache架的這個API

是可以正常呼叫的

很瞎.............但我就決定想想當中的差異

後來不知為啥 試著去傳header給他

他媽的才成功0rz|||||||||||

成功呼叫那瞬間 我又哭了.......

原因發生在NGINX

不傳header他不鳥你..........suck..........


然後就是傳送參數

並接收server的回應說

有無成功發出簡訊 或是跟app說你發太多次了之類

但我打死都收到一堆亂碼..............

幹真的會哭到死0rz|||||||||||||||||||||||||||||


我找了超多encode相關的文章

試了通通沒用..................幾乎接近無解狀態了說......

後來重新回頭看我發現一個東西

conn.setRequestProperty("Accept-Encoding", "gzip, deflate");

gzip.......................................................

我在想靠杯會不會是這原因...........

拿掉之後 就正常work了

我幹你囊的0rz||||||||||||||||||||||||||||||||

那一瞬間她媽我都哭了................

囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧


解決了這些屁問題

才終於慢慢上軌道

慢慢把簡訊驗證的程式做好

終於0rz||||||||||||||||||||

想不到改一個東西 貓的跟貓狗大戰一樣

問題一大堆 還接踵而來

解不完一樣

好在都解了...........

現在只能祈禱這次的版本在三爽的手機 都可以working了0rzzzzzzzzzzzzzzzzzzz

嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷

沒有留言: