{"id":2342,"date":"2021-06-25T17:47:00","date_gmt":"2021-06-25T08:47:00","guid":{"rendered":"https:\/\/yuis-programming.com\/?p=2342"},"modified":"2021-03-08T22:48:55","modified_gmt":"2021-03-08T13:48:55","slug":"flutter%e3%82%a2%e3%83%97%e3%83%aa%e3%82%92%e3%83%93%e3%83%ab%e3%83%89%e3%81%99%e3%82%8b%e3%81%ab%e3%81%af","status":"publish","type":"post","link":"https:\/\/yuis-programming.com\/?p=2342","title":{"rendered":"Flutter\u30a2\u30d7\u30ea\u3092\u30d3\u30eb\u30c9\u3059\u308b\u306b\u306f"},"content":{"rendered":"<p>Flutter\u30a2\u30d7\u30ea\u3092\u30d3\u30eb\u30c9\u3057\u3001iPhone\u3084Android\u30b9\u30de\u30db\u3067\u30a2\u30d7\u30ea\u3068\u3057\u3066\u5b9f\u884c\u3001\u30c6\u30b9\u30c8\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n<div id=\"toc_container\" class=\"no_bullets\"><p class=\"toc_title\">Contents<\/p><ul class=\"toc_list\"><li><a href=\"#bundletool\"><span class=\"toc_number toc_depth_1\">1<\/span> bundletool\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9<\/a><\/li><li><a href=\"#i\"><span class=\"toc_number toc_depth_1\">2<\/span> \u30d3\u30eb\u30c9\u8a2d\u5b9a\u306e\u78ba\u8a8d<\/a><\/li><li><a href=\"#_apks_aab\"><span class=\"toc_number toc_depth_1\">3<\/span> (\u30d3\u30eb\u30c9) apks, aab\u30d5\u30a1\u30a4\u30eb\u306e\u751f\u6210<\/a><ul><li><a href=\"#apks_aab\"><span class=\"toc_number toc_depth_2\">3.1<\/span> apks, aab\u3092\u30d3\u30eb\u30c9<\/a><\/li><li><a href=\"#apk\"><span class=\"toc_number toc_depth_2\">3.2<\/span> apk\u3092\u30d3\u30eb\u30c9<\/a><\/li><\/ul><\/li><\/ul><\/div>\n<h2><span id=\"bundletool\">bundletool\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9<\/span><\/h2>\n<p>\u307e\u305a\u3001\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u304c\u307e\u3060\u306e\u5834\u5408\u306b\u306fJava\u306ebundletool\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u307e\u3059\u3002<\/p>\n<p><a href=\"https:\/\/github.com\/google\/bundletool\/releases\/tag\/1.4.0\">Release 1.4.0 \u00b7 google\/bundletool<\/a><\/p>\n<h2><span id=\"i\">\u30d3\u30eb\u30c9\u8a2d\u5b9a\u306e\u78ba\u8a8d<\/span><\/h2>\n<p>\u524d\u6e96\u5099\u3068\u3057\u3066\u3001\u4ee5\u4e0b\u306e\u5404\u9805\u76ee\u306b\u3064\u3044\u3066\u78ba\u8a8d\u3092\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<blockquote><p>Reviewing the app manifest<br \/>\nlocated in <app dir=\"\">\/android\/app\/src\/main e.g. android:label e.g. android.permission.INTERNET<\/app><\/p><\/blockquote>\n<p>\u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u3092\u30ec\u30d3\u30e5\u30fc\u3057\u307e\u3057\u3087\u3046\u3002\u4f8b\u3048\u3070\u307b\u3068\u3093\u3069\u306e\u30a2\u30d7\u30ea\u306b\u304a\u3044\u3066\u3001\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u3001<code>android.permission.INTERNET<\/code>\u304c\u4e0d\u53ef\u6b20\u3067\u3042\u308b\u3068\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>Reviewing the build configuration<br \/>\nbuild.gradle, located in <app dir=\"\">\/android\/app e.g. applicationId, versionCode &amp; versionName, minSdkVersion, compilesdkVersion, &amp; targetSdkVersion<\/app><\/p>\n<p>\u30d3\u30eb\u30c9\u8a2d\u5b9a\u306b\u3064\u3044\u3066\u30ec\u30d3\u30e5\u30fc\u3057\u307e\u3057\u3087\u3046\u3002\u4f8b\u3048\u3070\u3001applicationId, versionCode\u306a\u3069\u304c\u6b63\u3057\u3044\u5024\u306b\u306a\u3063\u3066\u3044\u308b\u304b\u3001\u306a\u3069\u3067\u3059\u3002<\/p>\n<p>(\u53c2\u8003)<\/p>\n<p><a href=\"https:\/\/flutter.dev\/docs\/deployment\/android\">Build and release an Android app &#8211; Flutter<\/a><\/p>\n<h2><span id=\"_apks_aab\">(\u30d3\u30eb\u30c9) apks, aab\u30d5\u30a1\u30a4\u30eb\u306e\u751f\u6210<\/span><\/h2>\n<p>Flutter\u304b\u3089\u30a2\u30d7\u30ea\u3092\u30d3\u30eb\u30c9\u3059\u308b\u65b9\u6cd5\u306b\u306f2\u3064\u3042\u308a\u307e\u3059\u3002<br \/>\n\u307e\u305a\u3001\u3088\u308a\u30e2\u30c0\u30f3\u306a\u65b9\u6cd5\u3068\u3057\u3066\u3001apks, aab\u3067\u3059\u3002<br \/>\n\u6b21\u306b\u3001\u30ec\u30ac\u30b7\u30fc\u306a\u65b9\u6cd5\u3068\u3057\u3066\u3001apk\u3092\u30d3\u30eb\u30c9\u3059\u308b\u65b9\u6cd5\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<h3><span id=\"apks_aab\">apks, aab\u3092\u30d3\u30eb\u30c9<\/span><\/h3>\n<p>apks, aab\u3092\u30d3\u30eb\u30c9\u3059\u308b\u624b\u9806\u3067\u3059\u3002<\/p>\n<p>\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3078\u79fb\u52d5\u3057\u307e\u3059\u3002<\/p>\n<pre><code>cd C:\\pg\\flutter\\tmpapp\\flutter_application_2\\\n<\/code><\/pre>\n<p>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u30af\u30ea\u30fc\u30f3\u3059\u308b\u3053\u3068\u3092\u5fd8\u308c\u305a\u306b\u3002<\/p>\n<pre><code>flutter clean\n<\/code><\/pre>\n<p>apks\u30d5\u30a1\u30a4\u30eb\u3092\u30d3\u30eb\u30c9\u3057\u307e\u3059\u3002<\/p>\n<pre><code>flutter build appbundle\n<\/code><\/pre>\n<p>\u5148\u7a0b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305fbundletool\u3092\u3053\u3053\u3067\u4f7f\u7528\u3057\u307e\u3059\u3002<br \/>\napks\u30d5\u30a1\u30a4\u30eb\u3092\u30d3\u30eb\u30c9\u3057\u307e\u3059\u3002<\/p>\n<pre><code>java -jar C:\\pg\\_android\\bin\\bundletool-all-1.4.0.jar build-apks --bundle=\"build\\app\\outputs\\bundle\\release\\app-release.aab\" --output=.\/tmp.apks\n<\/code><\/pre>\n<p>apks\u30d5\u30a1\u30a4\u30eb\u3092\u30c7\u30d0\u30a4\u30b9\u3078\u30c7\u30d7\u30ed\u30a4\u3057\u3001\u5b9f\u884c\u53ef\u80fd\u306b\u3057\u307e\u3059\u3002<br \/>\n\u3053\u3053\u307e\u3067\u3067\u30a8\u30e9\u30fc\u304c\u51fa\u306a\u3051\u308c\u3070\u3001\u3053\u306e\u6642\u70b9\u3067\u3001\u30c7\u30d0\u30a4\u30b9\u304b\u3089\u30a2\u30d7\u30ea\u304c\u9078\u629e\u3001\u5b9f\u884c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u308b\u306f\u305a\u3067\u3059\u3002<\/p>\n<pre><code>java -jar C:\\pg\\_android\\bin\\bundletool-all-1.4.0.jar install-apks --apks=.\/tmp.apks --device-id BH901B6F5L\n<\/code><\/pre>\n<h3><span id=\"apk\">apk\u3092\u30d3\u30eb\u30c9<\/span><\/h3>\n<p>apk\u3092\u30d3\u30eb\u30c9\u3059\u308b\u624b\u9806\u3067\u3059\u3002<\/p>\n<p>\u6700\u521d\u306b\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u30af\u30ea\u30fc\u30f3\u3059\u308b\u3053\u3068\u3092\u5fd8\u308c\u305a\u306b\u3002<\/p>\n<pre><code>flutter clean\n<\/code><\/pre>\n<p>apk\u30d5\u30a1\u30a4\u30eb\u3092\u30d3\u30eb\u30c9\u3057\u307e\u3059\u3002<\/p>\n<pre><code>flutter build apk\n<\/code><\/pre>\n<p>\u30d3\u30eb\u30c9\u3057\u305fapk\u30d5\u30a1\u30a4\u30eb\u306f\u624b\u52d5\u3067\u30c7\u30d0\u30a4\u30b9\u306b\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<br \/>\n\u50d5\u306f\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306b\u30a6\u30a7\u30d6\u30b5\u30fc\u30d0\u30fc\u3092\u7acb\u3066\u3001\u305d\u3053\u304b\u3089\u30b9\u30de\u30db\u304b\u3089apk\u30d5\u30a1\u30a4\u30eb\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3001\u8d77\u52d5\u3059\u308b\u65b9\u6cd5\u3092\u53d6\u3063\u3066\u3044\u307e\u3059\u3002<br \/>\nGithub\u306a\u3069\u3067\u914d\u5e03\u3059\u308b\u5834\u5408\u306b\u3082apk\u304c\u4fbf\u5229\u306a\u3088\u3046\u306b\u601d\u3044\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Flutter\u30a2\u30d7\u30ea\u3092\u30d3\u30eb\u30c9\u3057\u3001iPhone\u3084Android\u30b9\u30de\u30db\u3067\u30a2\u30d7\u30ea\u3068\u3057\u3066\u5b9f\u884c\u3001\u30c6\u30b9\u30c8\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[1],"tags":[],"acf":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8Rxwo-BM","_links":{"self":[{"href":"https:\/\/yuis-programming.com\/index.php?rest_route=\/wp\/v2\/posts\/2342"}],"collection":[{"href":"https:\/\/yuis-programming.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yuis-programming.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yuis-programming.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yuis-programming.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2342"}],"version-history":[{"count":1,"href":"https:\/\/yuis-programming.com\/index.php?rest_route=\/wp\/v2\/posts\/2342\/revisions"}],"predecessor-version":[{"id":2343,"href":"https:\/\/yuis-programming.com\/index.php?rest_route=\/wp\/v2\/posts\/2342\/revisions\/2343"}],"wp:attachment":[{"href":"https:\/\/yuis-programming.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2342"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yuis-programming.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2342"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yuis-programming.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2342"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}