Expo打Android包(.apk)
一、开发环境
操作系统:Win11
开发工具:Cursor
实现目标:将Expo的Demo打包成.apk文件
二、操作步骤
- 准备一个Expo工程
- 控制台输入下面指令,生成平台文件:
npx expo prebuild


- 控制台输入下面指令,生成签名文件(.keystore)
keytool -genkey -v -keystore test.keystore -alias a -keyalg RSA -keysize 2048 -validity 10000
注意:英文的官网上给出的是:
sudo keytool -genkey -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
windows平台需要去掉sudo命令,然后my-upload-key.keystore、my-key-alias换成自己定义的名称,我设置的是test、a,即.keystore的文件名为test、图库名为a。
接下来,按照控制台提示输入密码与相关信息即可,最后问是否正确,输入【是】:

成功后会出现:

这里需要记一下上述的文件名、图库名与相关密码
- 将生成的.keystore文件移动到【android/app】目录下(直接拖拽过去)


- 打开 android/gradle.properties 文件,在后面加上:
MYAPP_UPLOAD_STORE_FILE=test.keystore --这里填生成的.keystore文件名
MYAPP_UPLOAD_KEY_ALIAS=a --这里填图库名
MYAPP_UPLOAD_STORE_PASSWORD=12345678 --.keystore的密码
MYAPP_UPLOAD_KEY_PASSWORD=12345678 --图库的密码
注意:我当前遇到一个问题,打包时,默认的ndk版本为27.1.12297006,ndk发布的官网上找不着,故而换了一个能找到的版本。在文件中添上声明:
android.ndkVersion=27.3.13750724
同时在android/app/build.gradle中修改ndk的配置:
ndkVersion project.findProperty("android.ndkVersion") ?: rootProject.ext.ndkVersion

- 修改 android/app/build.gradle 中的声明配置
release {
if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
storeFile file(MYAPP_UPLOAD_STORE_FILE)
storePassword MYAPP_UPLOAD_STORE_PASSWORD
keyAlias MYAPP_UPLOAD_KEY_ALIAS
keyPassword MYAPP_UPLOAD_KEY_PASSWORD
}
}
signingConfig signingConfigs.release

- 生成应用包(.apk)
cd android
./gradlew app:bundleRelease --按需生成.aab
./gradlew assembleRelease --按需生成.apk
我这里选择生成apk(注:需要jdk 1.11,我用1.8就会报错)

文件路径在 android/app/build/outputs/apk\release 下

- 将apk文件拖拽到模拟器中安装,运行即可。到此,大功告成。恭喜你完成了安卓出包!
&spm=1001.2101.3001.5002&articleId=157130163&d=1&t=3&u=67da489f89454223aa19512574c16bc5)
4904

被折叠的 条评论
为什么被折叠?



