作者charlie20083 (查理)
看板AndroidDev
標題[問題] 同一份Code 會產生出不同的APK
時間Wed Jul 20 12:01:14 2016
呃... 如題
就 自己在幫忙寫App 然後遇到的類似的問題
在板上拿apk當關鍵字找好像也沒看到相關的討論的樣子
同一份Code 一個字都沒改 然後接不同的測試平板
Android Studio產生出來的APK居然會是不一樣的...
目前身邊有的平板分別是
Android 6.0.1 (CM13) 7" 1920x1200 的 ASUS Nexus 7 2013
Android 5.1.1 (CM12.1) 7" 1024x600 的 Amazon Fire 5th
Android 4.2.1 7" 1280x800 的 ASUS MemoPad HD 7 (ME173X)
(是還有一台 Android 4.0.3 10" 1280x800 的 ASUS Transformer (TF101G)
但因為這平板接電腦就不能充電 不方便測試就沒測了)
比對的結果長這樣
http://i.imgur.com/Nzllg1V.png
左邊的APK是接Amazon Fire產生的 然後產生出來的APK Nexus 7也吃
但是拿去MemoPad會跳掉
Logcat的錯誤訊息好像是Java有東西找不到之類的
(看起來像是系統層面 不是App產生的
然後右邊的APK則是接MemoPad產生的
不過拿去給Amazon Fire裝 反而執行起來蠻正常的 (至少沒一執行就跳掉
更別提曾經還產生過一種APK 裝了之後沒一台平板能跑的 不知道是怎麼辦到的
檔案我有還留著 假如傳上來有助於大家協助解決我的問題我再來傳...
所以想問說 有沒有辦法 叫Android Studio產生出一個
相容性比較好的apk出來 這樣也比較好給別人測試之類的
不然 感覺當時建立專案時設定的系統最小需求感覺就設定心酸的 ?
希望有大大能解惑 <(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.117.43
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1468987277.A.4E8.html
→ ssccg: 你apk是用什麼方式產生? 直接按run產生的debug apk? 07/20 12:58
→ ssccg: 以你這兩張圖很明顯差在instant run,在不支援的手機Run AS 07/20 13:00
→ ssccg: 會自動關掉這功能,生出來的apk自然沒有那些 07/20 13:00
這兩個是直接按Run產生的沒錯
但 按Build->Build APK又曾經產生過三台平板都不能跑的APK
把它砍掉重新產生好像也是 反正就很玄...
不過看起來沒有Instant Run的相容性比較高?
還是有辦法可以把Android Studio的那功能直接關掉?
※ 編輯: charlie20083 (118.163.117.43), 07/20/2016 13:09:03
→ ssccg: 產生apk應該用Build > Build APK或直接跑對應的gradle task 07/20 13:09
→ ssccg: 如果你用Build APK出來的不能跑,應該是要去找原因 07/20 13:11
→ ssccg: 基本上那只是跑gradle的assemble<現在選的Build Variant> 07/20 13:12
→ ssccg: Instant Run沒有相容性比較高,這單純是測試時有修改可以不 07/20 13:13
→ ssccg: 用重build整個apk,只deploy變動部分的機制,不適用輸出apk 07/20 13:13