React Native Android 替换包名,修改图标,名称,生成签名证书和打包

0
2

第一步 修改包名

如果工程名称为 AwesomeProject 那么默认的包名是 com.AwesomeProject 假设将包名替换为 com.mycompany.myproject

  1. 打开 ./android/app/src/main/java/com/AwesomeProject/MainActivity.java 修改第一行:

    package com.mycompany.myproject;

  2. 打开 ./android/app/src/main/java/com/AwesomeProject/MainApplication.java 修改第一行:

    package com.mycompany.myproject;

  3. 打开 ./android/app/src/main/AndroidManifest.xml 修改:

    package com.mycompany.myproject;

  4. 打开 ./android/app/BUCK 修改(有2处):

    package com.mycompany.myproject;

  5. 打开 ./android/app/build.gradle , 查找 applicationID ,改为 com.mycompany.myproject

  6. 在 ./android/app/src/main/java/com/ 下,创建:

    • ./android/app/src/main/java/com/mycompany/myproject 这样的2层目录;
    • 将./android/app/src/main/java/com/AwesomeProject/ 目录下的 MainActivity.javaMainApplication.java 两个文件移动到上述的目录中;
  7. 修改完成后,进入 ./android 目录,执行 ./gradlew clean

第二步 修改APP显示名称和图标

修改APP显示名称

打开 ./android/app/src/main/res/values/strings.xml , 修改:

<string name="app_name">APP的显示名称</string>

修改图标

将对于图标替换 - ./android/app/src/main/res/mipmap-hdpi - ./android/app/src/main/res/mipmap-mdpi - ./android/app/src/main/res/mipmap-xhdpi - ./android/app/src/main/res/mipmap-xxhdpi,

4个目录下对应的 ic_launcher.png

第三步 生成签名证书

keytool -genkey -v -keystore my-project-key.keystore -alias my-project-key-alias -keyalg RSA -keysize 2048 -validity 10000
  • my-project-key.keystore 证书名称

  • my-project-key-alias 证书别名

  • -validity 10000 表示有效期,单位:天

执行命令后会输入输入密码等信息,执行完成后会生成 my-project-key.keystore 文件

第四步 修改配置文件

  1. 将该文件复制到 ./android/app 目录下
  2. 打开 ./android/gradle.properties 文件 , 添加以下代码:

    MYAPP_RELEASE_STORE_FILE=my-project-key.keystore  
    MYAPP_RELEASE_KEY_ALIAS=my-project-key-alias
    MYAPP_RELEASE_STORE_PASSWORD=你设置的证书密码    
    MYAPP_RELEASE_KEY_PASSWORD=你设置的证书密码
    

第五步 添加配置文件

打开 ./android/app/build.gradle 文件

  1. 添加如下代码:

    ...  
    android {  
    	...  
    	defaultConfig { ... }  
    	signingConfigs {  
    		release {  
    			storeFile file(MYAPP_RELEASE_STORE_FILE)  
    			storePassword MYAPP_RELEASE_STORE_PASSWORD  
    			keyAlias MYAPP_RELEASE_KEY_ALIAS  
    			keyPassword MYAPP_RELEASE_KEY_PASSWORD  
    		}  
    	}  
    	buildTypes {  
    		release {  
    			...  
    			signingConfig signingConfigs.release  
    		}  
    	}  
    }  
    ...
    
  2. 如果你需要对apk进行混淆打包,查询 enableProguardInReleaseBuilds

    def enableProguardInReleaseBuilds = true
    

设置为 true

第六步 打包APK

进入 ./android 目录 ,并执行:

./gradlew assembleRelease

提示成功后,apk文件在 ./android/app/build/outputs/apk/app-release.apk

评论(0)

发表评论

DMGChat