網頁

2020年11月19日 星期四

解決Gradle DSL method not found: 'implementation()' 及 更換Android Studio Project的Android Gradle plugin version及Gradle Version

在想要加入新版billing library到舊專案時,一直遇到"Gradle DSL method not found: 'implementation()'"的問題,查了下看起來是Project中Gradle的版本問題, 更換方式如下:

對著app按右鍵選Open Module Settings


再點Project就可以選Android Gradle plugin version及Gradle Version


參考網址:

Gradle DSL method not found: 'implementation()'


2020年11月13日 星期五

解決Service Intent must be explicit

更改舊android專案升到api 28時,一直跳出Service Intent must be explicit,找半天解答,如:Service Intent must be explicit的解决方案【完美解决系列】Service Intent must be explicit,都太複雜,後來看到Google In-App billing, IllegalArgumentException: Service Intent must be explicit, after upgrading to Android L Dev Preview,才了解重點在Intent要設定Package字串,如,我在用的是"com.android.vending.billing.MarketBillingService.BIND",就設定intent.setPackage("com.android.vending"),這樣就OK了


參考網址:

Google In-App billing, IllegalArgumentException: Service Intent must be explicit, after upgrading to Android L Dev Preview

2020年11月6日 星期五

HttpClient won't import in Android Studio

在舊專案中在build.gradle中將compileSdkVersion及targetSdkVersion改成28後,突然出現import org.apache.http.HttpResponse有error,整個都沒了,google了下發現是因為sdk 23就不再包進去了,要另外加入底下的設定

android {
    useLibrary 'org.apache.http.legacy'
}

這樣就OK囉~

參考網址:

HttpClient won't import in Android Studio