从零开始构建第一步,当然是从hello world开始,第一课我们没什么代码都不写,只用生成的代码来打包apk。为什么一开始就要学会打包,因为如果连打包都不会,以后做好了也没用。学会了打包,才能让我们有动力继续下去,现在网上到处也有资料,本文也是在查了资料之后进行的。因为安卓的apk都需要签名,所以我们第一步就是生成一个签名。
1. keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
2. 把my-release-key.keystore放到android/app下
3. 在根目录下配置全局的gradle信息,~/.gradle/gradle.properties,假如没有gradle.properties就生成这个文件。
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore MYAPP_RELEASE_KEY_ALIAS=my-key-alias MYAPP_RELEASE_STORE_PASSWORD=123123 MYAPP_RELEASE_KEY_PASSWORD=123123
4. 修改/android/app/build.gradle
defaultConfig { ... } // 增加signingConfigs 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 { minifyEnabled enableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" signingConfig signingConfigs.release //增加一行 } }
5. 进到android目录,执行./gradlew assembleRelease
6. 在xxx/android/app/build/outputs/apk下生成了一个app-release.apk,恭喜你,有了第一个apk安装包。
生成的hello world足足有7.5M,让我们来看看里面都是什么
以安卓为例,代码打包完之后就是index.android.bundle这个文件,它的大小为560kb,还是比较大的,现在我还不知道怎么优化,不急。再看看最大的地方还是在lib这个文件夹,猜测主要是为了兼容不同的架构吧。