内容へ移動
猫型iPS細胞研究所
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
INDEX
»
reactnative
»
bulid
トレース:
reactnative:build
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== bulid ====== [[reactnative:expo:build|expoの場合]] [[https://qiita.com/gonta616/items/b8c323167ac41323b8fa|React NativeでiOS, Androidのストア公開のTips]] ===== buildコマンド ===== <code> // 公開せずapkを作成するだけならこれでいける。 cd android // androidフォルダに移動 gradlew assembleRelease ⇒ android/app/build/outputs/apk/app-release-unsigned.apk ができる。 </code> ===== バージョン指定 ===== バージョンコードは android\app\build.gradle <code> android { ・・・ defaultConfig { versionCode 2 // 内部コード。カウントアップすればよい versionName "1.1" // ユーザーがみるバージョン } </code> ===== keyストアの作成し署名付buildをする場合 ===== [[http://facebook.github.io/react-native/docs/signed-apk-android.html|Generating Signed APK]] [[https://ips.nekotype.com/1504/|コマンドプロンプトの文字コードを変更する]] コマンドプロンプトの文字化けはshift-jisで直る [[https://docs.microsoft.com/en-us/windows/desktop/intl/code-page-identifiers|Code Page Identifiers]] <code> // 932 shift_jis > chcp 932 </code> C:\Program Files\Java\jdk1.8.0_201\bin\keytool.exeを使う <code> > cd C:\Program Files\Java\jdk1.8.0_201\bin > keytool -genkeypair -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 キーストアのパスワードを入力してください: 新規パスワードを再入力してください: 姓名は何ですか。 [Unknown]: [入力] 組織単位名は何ですか。 [Unknown]: [入力] 組織名は何ですか。 [Unknown]: [入力] 都市名または地域名は何ですか。 [Unknown]: [入力] 都道府県名または州名は何ですか。 [Unknown]: [入力] この単位に該当する2文字の国コードは何ですか。 [Unknown]: [入力] CN=[], OU=[], O=[], L=[], ST=tokyo, C=jpでよろしいですか。 [いいえ]: y 10,000日間有効な2,048ビットのRSAの鍵ペアと自己署名型証明書(SHA256withRSA)を生成しています ディレクトリ名: CN=User, OU=person, O=nekotype, L=nakano, ST=tokyo, C=jp <my-key-alias>の鍵パスワードを入力してください (キーストアのパスワードと同じ場合はRETURNを押してください):[ENTER] [my-release-key.keystoreを格納中] Warning: JKSキーストアは独自の形式を使用しています。"keytool -importkeystore -srckeystore my-release-key.keystore -destkeystore my-release-key.keystore -deststoretype pkcs12"を使用する業界標準の形式であるPKCS12に移行することをお薦めします。 </code> 「C:\Program Files\Java\jdk1.8.0_201\bin」にできた「my-release-key.keystore」を、「C:\Users\User\react\native_background_timer\android\app」にコピーする。 android\gradle.propertiesを編集する。 <code> # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true MYAPP_RELEASE_STORE_FILE=my-release-key.keystore // add MYAPP_RELEASE_KEY_ALIAS=my-key-alias // add MYAPP_RELEASE_STORE_PASSWORD=key1976 // add MYAPP_RELEASE_KEY_PASSWORD=key1976 // add </code> android\app\build.gradleを編集する。 <code> android { ・・・ defaultConfig { ・・・ } signingConfigs { // add release { // add if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) { // add storeFile file(MYAPP_RELEASE_STORE_FILE) // add storePassword MYAPP_RELEASE_STORE_PASSWORD // add keyAlias MYAPP_RELEASE_KEY_ALIAS // add keyPassword MYAPP_RELEASE_KEY_PASSWORD // add } // add } // add } // add splits { ・・・ } buildTypes { release { minifyEnabled enableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" signingConfig signingConfigs.release // add } } </code> androidディレクトリで <code> // assembleReleaseの綴に注意。 gradlew assembleRelease </code> 署名付きapkが出来上がる。 <code> \android\app\build\outputs\apk\release\app-release.apk </code> ===== 実機にコマンドでインストールする ===== <code> adb install -r [apkのパス] // -rがないと2回目以降アンインストールしてからでないとインストールできない。 </code> ===== 依存関係を調べる ===== かなり長いTreeとなるのでfindstrで絞る <code> > cd android > gradlew :app:dependencies | findstr "xxxx" ・・・ +--- com.google.android.gms:play-services-basement:16.0.1 | \--- com.google.android.gms:play-services-tasks:16.0.1 | \--- com.google.android.gms:play-services-basement:16.0.1 (*) +--- com.google.android.gms:play-services-basement:16.0.1 (*) +--- com.google.android.gms:play-services-tasks:16.0.1 (*) +--- com.google.android.gms:play-services-maps:16.1.0 | +--- com.google.android.gms:play-services-base:16.0.1 (*) | \--- com.google.android.gms:play-services-basement:16.0.1 (*) | | \--- com.google.code.findbugs:jsr305:3.0.1 -> 3.0.2 | +--- com.google.code.findbugs:jsr305:3.0.2 +--- com.google.code.findbugs:jsr305:3.0.2 ・・・ </code> ===== エラー ===== <code> keytoolエラー: java.io.FileNotFoundException: my-release-key.keystore (アクセスが拒否されました。) java.io.FileNotFoundException: my-release-key.keystore (アクセスが拒否されました。) </code> コマンドプロンプトを管理者権限で実行する。 ===== エラー ===== <code> signatures do not match the previously installed version; ignoring! </code> 実機でreleaseをインストールしたあと、そのままdebugしようとしいた。 relaseとdebugでは署名が異なるため発生。
reactnative/build.txt
· 最終更新: 2019/05/15 00:59 by
ips
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ