[問題] 關於 android:minSdkVersion="4"

看板AndroidDev作者 (小蝸)時間12年前 (2013/05/19 17:33), 編輯推噓8(8034)
留言42則, 6人參與, 最新討論串1/1
請問大大們,關於 <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="4" /> 以上這兩行程式碼,它的用途是什麼?? 以及怎麼去測試什麼版本的裝置可以安裝, 什麼版本的裝置不能安裝? 希望有經驗的大大,能夠給小弟指點一下~~ 感激不盡~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.156.124

05/19 19:01, , 1F
minSdkVersion 代表裝置至少要 lv.4 (1.6) 才能跑
05/19 19:01, 1F

05/19 19:04, , 2F
targetSdkVersion 聲明在 lv.4 測試過?(不太確定)
05/19 19:04, 2F

05/19 19:05, , 3F
有些裝置的海苔條 如果target設定在4.0+就不會顯示
05/19 19:05, 3F

05/19 19:11, , 4F
我看過不少專案 target都沒設定耶
05/19 19:11, 4F

05/19 19:13, , 5F
target 似乎只是聲明 要設不設應該都可以 吧
05/19 19:13, 5F

05/19 19:15, , 6F
大大們都是怎麼測試的??假如身邊沒有多種實機
05/19 19:15, 6F

05/19 19:44, , 7F
target其實要設 有些玄機在裡面喔
05/19 19:44, 7F

05/19 19:45, , 8F
如果你在3.x以後的機子 把target設成<=10,這樣你一樣可以在
05/19 19:45, 8F

05/19 19:45, , 9F
可以在main thread裡面使用網路的東西
05/19 19:45, 9F

05/19 19:45, , 10F
正確來說target是負責向下相容跟向上相容用!
05/19 19:45, 10F

05/19 19:46, , 11F
比方說你如果把target設成>14,就會有一些4.x的功能會自己跑出
05/19 19:46, 11F

05/19 22:27, , 12F
不太懂大大說的相容問題0.0 大大能否舉個清楚的例子
05/19 22:27, 12F

05/19 22:44, , 13F
筆記ing
05/19 22:44, 13F

05/19 22:51, , 14F
這是相容性的宣告 如果沒給這個的話compile出來的東西有時候會
05/19 22:51, 14F

05/19 22:51, , 15F
有怪問題 而且這個參數不是在開發時第一個步驟就要求你進行設
05/19 22:51, 15F

05/19 22:52, , 16F
定嗎XD
05/19 22:52, 16F

05/19 23:03, , 17F
那要怎麼判斷要設為多少??
05/19 23:03, 17F

05/19 23:32, , 18F
要看你要給的那個裝置的Android版本
05/19 23:32, 18F

05/19 23:35, , 19F
呃 如果要我說明下去的話 請自行估狗 這是為了你以後開發好XD
05/19 23:35, 19F

05/20 00:15, , 20F
摁摁~感謝大大的說明
05/20 00:15, 20F

05/20 02:32, , 21F
targetSDK跟compile無關 是給PackageManager看的
05/20 02:32, 21F

05/20 02:33, , 22F
PMS會把targetSDK存到PackageInfo,日後給需要判斷的地方看
05/20 02:33, 22F

05/20 02:33, , 23F
比方說decorView,ActivityThread,WindowManagerService
05/20 02:33, 23F

05/20 02:39, , 24F
不過這些東西太複雜且廣泛,甚至在業界好幾年的人也不見得了解
05/20 02:39, 24F

05/20 02:39, , 25F
建議你還是按部就班的做就好了,配合你的專業需求
05/20 02:39, 25F

05/20 02:39, , 26F
如果你今天要開發給甚麼機台,就照實填即可:)
05/20 02:39, 26F

05/20 02:42, , 27F
補充一點minSDK的話就是安裝最低限制 你的機子比這數值低
05/20 02:42, 27F

05/20 02:42, , 28F
就不給裝 其他並無任何作用 單純做限值而已
05/20 02:42, 28F

05/20 02:42, , 29F
比方說 你不想讓android1.5的機子用 那你就得設定minSDK=4
05/20 02:42, 29F

05/20 02:43, , 30F
表示SDK>=4都可以用 即 android1.6(含) 之後 都可以用
05/20 02:43, 30F

05/20 02:43, , 31F
之前的機子會不能安裝 強制放進去也不會被登記到PMS中
05/20 02:43, 31F

05/20 03:02, , 32F
請問大大,如果去掉android:targetSdkVersion="4"
05/20 03:02, 32F

05/20 03:03, , 33F
跟沒有去掉,差在哪裡呢??
05/20 03:03, 33F

05/20 03:10, , 34F
如果希望大部分機台都能使用,該怎麼做呢?
05/20 03:10, 34F

05/20 06:47, , 35F
2.3以上可支援大多數;實際執行情況要看code,如果有牽涉
05/20 06:47, 35F

05/20 06:47, , 36F
各家實作的部份,就只能多借幾台來試了
05/20 06:47, 36F

05/20 10:55, , 37F
為什麼要去掉...?
05/20 10:55, 37F

05/20 10:56, , 38F
4表示1.6 那是很古董的東西 沒人會去研究他吧
05/20 10:56, 38F

05/20 11:12, , 39F
因為我想試試看那行到底差在哪@@
05/20 11:12, 39F

05/20 11:54, , 40F
有些有差 有些沒差 就算有差 你也不會查覺
05/20 11:54, 40F

05/20 11:55, , 41F
但實際上是有差 等你遇到 就會知道有差了
05/20 11:55, 41F

05/20 17:32, , 42F
摁摁 感謝gpc大大
05/20 17:32, 42F
文章代碼(AID): #1Hc9nr7s (AndroidDev)