Sunday, August 26, 2018

Android GoogleMap Key申請 和定位

Android GoogleMap Key申請 和定位

執行畫面

已經進入專案 new一個新專案

老樣子下一步

這選大眾用 4.03
這邊可以選擇
這邊選google Map 表單

有看到你們專案??

產生金鑰

被反白這條把它複製下來貼到你的垃圾瀏覽器
用google 帳號登入

這邊點繼續
好了以後
按下建立api金鑰
這邊會產生一把金鑰

把它複製下來
AIzaSyDNyNkT9ATvuXM5Zc_szncdszF4AtEksRg
你們複製你們的
等等跟你們獎

這邊貼上你們的key
回到這邊

這邊你有看到剛剛那畫面 右下角有一個限制金鑰
把它點下去

這邊點選android 應用程式
這邊可以看到

程式碼已經幫你產生好了
DC:47:4E:F0:AD:26:81:24:9C:EB:54:34:56:3B:B7:28:07:1E:B5:2D;com.example.x2132.myapplication
程式的package名稱 和一組sha1
好了按儲存 這邊別人要用你的key的話
sha1 值 跟 packet name 錯誤除非他程式 package name 跟你取一樣
就沒辦法去呼叫google api
你開起來會空白
切到這裡

設定程式經緯度

MapsActivity.java
public void onMapReady(GoogleMap googleMap) { mMap = googleMap; // Add a marker in Sydney and move the camera LatLng sydney = new LatLng(-34, 151); //看到上面這行就是經緯度 現在來找一下 mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); }
gps經緯度 跟google map 經緯度會相反
GPS(經度:120.225435 緯度:23.023535)

cmd看sha1值(非必要

你的ˊ程式碼已經存了 知道啦還有ㄎㄎ 如果要用cmd看的話
你的按鍵旗標+r 輸入cmd


裡面有一個隱藏資料夾.android

打dir顯示所有檔案

這邊的話看到他有一行
keytool -list -v -keystore mystore.keystore
keytool -list -v -keystore debug.keystore
ㄎㄎ這台電腦沒有裝keytool你們應該有
反正就是可以看到你們 sha1 值
現在拿起你們得傳輸線插進去你們的手機

點那個撥放

差你的手機 直接選你的垃圾手機 我傳輸線壞了 選了直接ok手機就可以直接跑你的app
記得手機要開location 不行的話 裡面的gps把高精準度調成用wifi
沒傳輸線的可以用這方法
這邊可以編譯成apk
跑跑跑
ㄎㄎ這邊我的電腦裝了google map會發生錯誤

以下你們可能會

MAP空白可能原因如下

GPS定位錯誤

檢查gps 調成wifi定位再來就是

缺少google play service

檢查google play service 有沒有加載


記得打勾
按下apply

ok


跑跑跑

跑好了
finish 然後 ok

重建專案一 下

GOOGLE PLAY SERVICE 再次確認

為了以防萬一
選左邊app

然後再跳到dependccies那邊

檢查有沒有存在這沒有的話

按這個
選到一樣的

套用 ok
老樣子

重建專案
編譯apk 燒到你的手機

編譯APK失敗

如果你的電腦真的跟我依樣這麼特殊
還是會錯
這錯誤就是因為這個app加載了太多函示庫沒辦法編譯成2進位檔
所以要在一個地方加個幾行
解決方案:
http://stackoverflow.com/questions/15209831/unable-to-execute-dex-method-id-not-in-0-0xffff-65536

進到這裡面
android { defaultConfig { ... multiDexEnabled true <<插入這行 } }
然後
dependencies { ... compile 'com.android.support:multidex:1.0.0' <<插入這行 }
插入這行
所以看起來會


這時候再來

重建專案
在一次

產生apk看看
這邊可以看到

已經可以編譯成功了
接下來呢怎樣把apk拿出來點選專案的資料夾右鍵

這邊可以把專案資料夾給丟出來

這樣子
在這邊打 *.apk
找到了我們剛剛編譯個apk
現在你的手機安裝玩這apk 還是直接燒入到手機