ユーザ用ツール

サイト用ツール


サイドバー

reactnative:build

以前のリビジョンの文書です


bulid

buildコマンド

// 公開せずapkを作成するだけならこれでいける。
cd android // androidフォルダに移動
gradlew assembleRelease
 ⇒ android/app/build/outputs/apk/app-release-unsigned.apk ができる。

バージョン指定

バージョンコードは
android\app\build.gradle

android {
 ・・・
    defaultConfig {
        versionCode 2     // 内部コード。カウントアップすればよい
        versionName "1.1" // ユーザーがみるバージョン
    }

keyストアの作成し署名付buildをする場合

Generating Signed APK

コマンドプロンプトの文字コードを変更する
コマンドプロンプトの文字化けはshift-jisで直る

> chcp 932

C:\Program Files\Java\jdk1.8.0_201\bin\keytool.exeを使う

> 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=ryu, 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に移行することをお薦めします。

「C:\Program Files\Java\jdk1.8.0_201\bin」にできた「my-release-key.keystore」を、「C:\Users\Ryu\react\native_background_timer\android\app」にコピーする。

android\gradle.propertiesを編集する。

# 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

android\app\build.gradleを編集する。

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
        }
    }

androidディレクトリで

gradlew assembleRelease

署名付きapkが出来上がる。

\android\app\build\outputs\apk\release\app-release.apk

エラー

keytoolエラー: java.io.FileNotFoundException: my-release-key.keystore (アクセスが拒否されました。)
java.io.FileNotFoundException: my-release-key.keystore (アクセスが拒否されました。)

コマンドプロンプトを管理者権限で実行する。

reactnative/build.1553415851.txt.gz · 最終更新: 2019/03/24 17:24 by ips