美文网首页
打包发布

打包发布

作者: Android_冯星 | 来源:发表于2018-08-15 00:24 被阅读0次

Android端

  1. 生成以一个签名秘钥
    keytool -genkey -v -keystore MyApp-release-key.keystore -alias MyApp -keyalg RSA -keysize 2048 -validity 10000

  2. 在/android/app/src/main/目录下创建assets目录。(如果目录存在跳过步骤)

  3. 将index.android.bundle下载并保存在assets资产目录中
    curl -k "http://localhost:8081/index.android.bundle" > android/app/src/main/assets/index.android.bundle

image.png

出现上面的提示代表下载成功。
这时在android/app/src/main/assets/目录下会出现index.android.bundle文件。

  1. 在Android端添加gradle配置信息

打包的apk在未签名的情况下,没有root的手机是不允许安装的。

在build.gradle文件中

 signingConfigs{
        release{
            storeFile file('../../MyApp-release-key.keystore')
            storePassword "fengxing"
            keyAlias 'myapp'
            keyPassword 'fengxing'
        }
    }

 buildTypes {
        release {
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
            signingConfig signingConfigs.release
        }
    }
  1. 开启代码混淆来减小apk文件的大小 proguard

Proguard 是一个java字节码混淆压缩工具。它可以移除掉React Native Java(和它的依赖库中)没有被使用到的部分,最终减小apk大小。

弃用Proguard之后,必须再次全面检测你的应用,Progurd有时需要为你引入的每一个第三方库做一些额外的配置。参见app/proguard.pro文件

def enableProguardInReleaseBuilds = true
默认false,改成true就开启了代码混淆了。

  1. 在/android/目录下 执行gradle assembleRelease命令。打包后的文件在 android/app/build/outputs/apk中。如果打包碰到问题可以先执行下 gradle clean 清理下。

在执行gradle assembleRelease命令 遇到的问题

What went wrong:
Could not list contents of '/Users/mrleonmark/Desktop/react-li/iwant1/iwant/node_modules/node-pre-gyp/node_modules/.bin/detect-libc'. Couldn't follow symbolic link.

执行
unlink /目录/
例如

unlink /Users/mrleonmark/Desktop/react-li/iwant1/iwant/node_modules/node-pre-gyp/node_modules/.bin/detect-libc

问题解决.如果还不好使

rm -rf node_modules && npm install

一步到胃.

如果提示 gradle 命令找不到 自行配置环境变量。

到/android/app/build/outputs/apk/下 查看是否有apk文件。

相关文章

  • Day21 - Flutter - 打包发布

    概述 Android打包和发布 iOS打包和发布 测试发布工具(fir) 一、Android打包和发布 1.1. ...

  • 打包发布

    1前言 springboot不仅在自动化配置方面提供了很大便利,大大提高了开发效率.通过内嵌的web容器,使得服务...

  • 打包发布

    Android端 生成以一个签名秘钥keytool -genkey -v -keystore MyApp-rele...

  • 打包发布

    OpenCV精进之路(十九):工具——程序打包发布

  • 发布 Ionic Android 应用

    之前介绍了 iOS 应用的打包和发布,这次说说 Android 应用的打包和发布。 Android 应用的打包和发...

  • android 使用命令行打包签名

    打包Jar 打包 Release./gradlew assembleRelease --stacktrace 发布...

  • JAVA Swing 改变标题栏左上角图标

    生成icon图标[https://www.ico51.cn/] 打包发布步骤 打包发布[https://blog....

  • Ionic 3 打包部署

    Ionic打包打包命令 打包命令参数 打包成发布版本命令 参考https://ionicframework.com...

  • iOS-Fastlane从0到1配置自动打包

    项目进入测试阶段,频繁的打包发布会耗费团队很多的时间,急需搭建一个自动化打包发布的平台,将我们从繁琐的打包发布流程...

  • iOS 打包静态库并托管到cocopods

    前言:因为直接发布到pod的项目都是开源的,所以需要先打包,打包之后发布就是只开放h文件的了 一.打包静态库 网上...

网友评论

      本文标题:打包发布

      本文链接:https://www.haomeiwen.com/subject/hmmbbftx.html