在该项目包名时遇到的一个android打包问题,如下
改包名步骤
- 修改android/app/build.gradle里的applicationId,为新包名,如:com.xxx.yyy.myProject
- 修改android/app/src/main/AndroidManifest.xml里的package,为新包名,如:com.xxx.yyy.myProject
- 在android/app/src/main/java/com下根据新包名中多出的两级xxx.yyy新创建两级新目录,如:android/app/src/main/java/com/xxx/yyy
- 将之前android/app/src/main/java/com下的myProject文件夹剪切到android/app/src/main/java/com/xxx/yyy下面
- 打开android/app/src/main/java/com/xxx/yyy/myProject/MainActivity.java,修改第一行为:package com.xxx.yyy.myproject
然后build=>clean project,build=>rebuild project,build=>Generate signed APK
尽量都在android studio里完成文件的修改
Generate signed APK时报错
Execution failed for task ':app:bundleReleaseJsAndAssets'. > A problem occurred starting process 'command 'node'
解决
- 命令行先执行
./gradlew stop
(虽然这步我执行失败了,但是好像起到了new一个gradle daemon的作用) - 然后执行
./gradlew assembleRelease
(会生成一个release但是未签名的版本) - build=>Generate signed APK,选择证书生成签名的release版本
可能遇到的其他问题
- Generate signed APK时,尽量在(windows版)setting或(mac版)preferences里Build,Execution,Deployment=>Compiler,将Configure on demand前的对勾去掉(这个选项是加速gradle build的,但是可能会造成build出错)
- Generate signed APK时,如果目标文件夹下已经有了app-release.apk文件,可能会出现Generate signed APK finished但是文件没变。需要先删除旧文件,重新Generate signed APK