Android minSdkVersion の引き上げ

昔のアプリを久しぶりに修正しようと思ったら、minSdkVersionを引き上げる必要があった。

Error:Execution failed for task ':flatalk:processDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 9 cannot be smaller than version 14 declared in library [com.android.support:appcompat-v7:26.0.0-alpha1] /Users/admin/.android/build-cache/df7faf3c442bb6a7448aef64241ef184a528/output/AndroidManifest.xml
Suggestion: use tools:overrideLibrary="android.support.v7.appcompat" to force usage

引用: 
https://developers-jp.googleblog.com/2016/12/google-play-services-and-firebase-for-android-will-support-api-level-14-at-minimum.html

次にリリースされる予定のバージョン 10.2.0 では、最小サポート API レベルが 9 から 14(Android 4.0.1、Ice Cream Sandwich)に引き上げられる予定です。この変更は、2017 年初めに実施される予定です。

Google Play サービスや Firebase を利用する Android アプリへの影響
バージョン 10.0.0 の Google Play サービスや Firebase は、現在と同様、問題なく利用できます。Gingerbread 端末でも今までと同様に動作します。
アプリの最小サポート API レベルが 14 以上(通常は、build.gradle の「minSdkVersion」で指定します)であれば、今後リリースされるバージョン 10.2.0 にアップグレードしてもバージョニングの問題は発生しません。しかし、API レベル 14 以下をサポートしているアプリの場合、ビルド時に次のようなエラーが表示されます。

Cordova Android Runtime Permission Plugin – cordova-plugin-android-permissionsでパーミッション要求が行われない。 requestPermission is not work

cordova-plugin-android-permissions


permissions.requestPermission(successCallback, errorCallback, permission);

ステップ実行で確認すると、hasPermissionではstatus.hasPermissioがFALSEになっているのですが
、デバック実行しても、パーミション要求が動かないことがありました。

原因はpluginの入れ替えで、要求するパーミンションがAndroidManifest.xmlから消えていたのが原因でした、Manifestに無いパーミッションはリクエストしても要求画面は開きません。

cordova-plugin-cameraを入れ直した際に、Manifestからcameraが消えており、要求が失敗していました。

Youtube API – ユーチューブのカテゴリを取得する( VideoCategories: list)


GET https://www.googleapis.com/youtube/v3/videoCategories

partのみ必須になっていたけど、regionCodeも必要だった。。今回はJPを指定。
参照:https://developers.google.com/youtube/v3/docs/videoCategories/list#try-it


{
"kind": "youtube#videoCategoryListResponse",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/siiWQ_WM0OtxtxK7NUUJKFwqDRc\"",
"items": [
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/Xy1mB4_yLrHy_BmKmPBggty2mZQ\"",
"id": "1",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Film & Animation",
"assignable": true
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/UZ1oLIIz2dxIhO45ZTFR3a3NyTA\"",
"id": "2",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Autos & Vehicles",
"assignable": true
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/nqRIq97-xe5XRZTxbknKFVe5Lmg\"",
"id": "10",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Music",
"assignable": true
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/HwXKamM1Q20q9BN-oBJavSGkfDI\"",
"id": "15",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Pets & Animals",
"assignable": true
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/9GQMSRjrZdHeb1OEM1XVQ9zbGec\"",
"id": "17",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Sports",
"assignable": true
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/FJwVpGCVZ1yiJrqZbpqe68Sy_OE\"",
"id": "18",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Short Movies",
"assignable": false
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/M-3iD9dwK7YJCafRf_DkLN8CouA\"",
"id": "19",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Travel & Events",
"assignable": true
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/WmA0qYEfjWsAoyJFSw2zinhn2wM\"",
"id": "20",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Gaming",
"assignable": true
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/EapFaGYG7K0StIXVf8aba249tdM\"",
"id": "21",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Videoblogging",
"assignable": false
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/xId8RX7vRN8rqkbYZbNIytUQDRo\"",
"id": "22",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "People & Blogs",
"assignable": true
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/G9LHzQmx44rX2S5yaga_Aqtwz8M\"",
"id": "23",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Comedy",
"assignable": true
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/UVB9oxX2Bvqa_w_y3vXSLVK5E_s\"",
"id": "24",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Entertainment",
"assignable": true
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/QiLK0ZIrFoORdk_g2l_XR_ECjDc\"",
"id": "25",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "News & Politics",
"assignable": true
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/r6Ck6Z0_L0rG37VJQR200SGNA_w\"",
"id": "26",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Howto & Style",
"assignable": true
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/EoYkczo9I3RCf96RveKTOgOPkUM\"",
"id": "27",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Education",
"assignable": true
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/w5HjcTD82G_XA3xBctS30zS-JpQ\"",
"id": "28",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Science & Technology",
"assignable": true
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/lL7uWDr_071CHxifjYG1tJrp4Uo\"",
"id": "30",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Movies",
"assignable": false
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/WnuVfjO-PyFLO7NTRQIbrGE62nk\"",
"id": "31",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Anime/Animation",
"assignable": false
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/ctpH2hGA_UZ3volJT_FTlOg9M00\"",
"id": "32",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Action/Adventure",
"assignable": false
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/L0kR3-g1BAo5UD1PLVbQ7LkkDtQ\"",
"id": "33",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Classics",
"assignable": false
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/pUZOAC_s9sfiwar639qr_wAB-aI\"",
"id": "34",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Comedy",
"assignable": false
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/Xb5JLhtyNRN3AQq021Ds-OV50Jk\"",
"id": "35",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Documentary",
"assignable": false
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/u8WXzF4HIhtEi805__sqjuA4lEk\"",
"id": "36",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Drama",
"assignable": false
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/D04PP4Gr7wc4IV_O9G66Z4A8KWQ\"",
"id": "37",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Family",
"assignable": false
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/i5-_AceGXQCEEMWU0V8CcQm_vLQ\"",
"id": "38",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Foreign",
"assignable": false
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/rtlxd0zOixA9QHdIZB26-St5qgQ\"",
"id": "39",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Horror",
"assignable": false
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/N1TrDFLRppxZgBowCJfJCvh0Dpg\"",
"id": "40",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Sci-Fi/Fantasy",
"assignable": false
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/7UMGi6zRySqXopr_rv4sZq6Za2E\"",
"id": "41",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Thriller",
"assignable": false
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/RScXhi324h8usyIetreAVb-uKeM\"",
"id": "42",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Shorts",
"assignable": false
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/0n9MJVCDLpA8q7aiGVrFsuFsd0A\"",
"id": "43",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Shows",
"assignable": false
}
},
{
"kind": "youtube#videoCategory",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/x5NxSf5fz8hn4loSN4rvhwzD_pY\"",
"id": "44",
"snippet": {
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"title": "Trailers",
"assignable": false
}
}
]
}