pub搜了下amap_base_flutter屬於評分比較高的了
參考https://github.com/flutter/flutter/pull/34369
編譯的時候報錯
e: C:\flutter\.pub-cache\hosted\pub.flutter-io.cn\amap_base_search-0.4.1\android\src\main\kotlin\me\yohom\amapbasesearch\search\SearchHandlers.kt: (326, 1): Object 'DistanceSearchHandler' is not abstract and does not implement abstract member @UiThread public abstract fun onMethodCall(@NonNull p0: MethodCall, @NonNull p1: MethodChannel.Result): Unit defined in me.yohom.amapbasesearch.SearchMethodHandler
e: C:\flutter\.pub-cache\hosted\pub.flutter-io.cn\amap_base_search-0.4.1\android\src\main\kotlin\me\yohom\amapbasesearch\search\SearchHandlers.kt: (327, 5): 'onMethodCall' overrides nothing
插件的源碼有問題需要改下,這個因為作者比較忙一直沒修,問了下說這周會出版本
amap_base_flutter-master\search\android\src\main\kotlin\me\yohom\amapbasesearch\search\SearchHandlers.kt line 327
object DistanceSearchHandler : SearchMethodHandler { override fun onMethodCall(call: MethodCall, result: MethodChannel.Result?) {//去掉問號
改完后編譯通過安裝后閃退,查了下應該是32位64位的問題,--target-platform參數已經棄用了 unused flag `--target-platform` from `flutter run`直接改配置文件C:\flutter\packages\flutter_tools\lib\src\android\gradle.dart line 461
command.add('-Ptarget-platform=android-arm');
原有項目增加amap_base_search時編譯報錯,單個dex file文件過大,解決方案參考https://www.jianshu.com/p/f68b0b070c31
D8: Cannot fit requested classes in a single dex file (# methods: 67205 > 65536) FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'. > com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: The number of method references in a .dex file cannot exceed 64K.
源碼還有個問題C:/flutter/.pub-cache/hosted/pub.flutter-io.cn/amap_base_search-0.4.1/lib/src/search/amap_search.dart 文件里的L.p方法不存在,都替換為print方式