2019-03-27 18:12:09 u013022210 阅读数 164
  • 完全征服React Native

    React Native是Facebook于2015年推出的跨平台开发工具,可用于开发Android和iOS App,并且同时具有混合开发的优点(热更新,跨平台)以及本地App的性能。 本课程采用新的ES6开发,主要内容包括ReactNative的基础知识,ReactNative的布局,组件,API,封装本地API和组件,发布ReactNative App,本地与ReactNative深度结合

    58234 人正在学习 去看看 李宁

1.Windows下安卓打包

 命令生成密钥:

keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

 密钥放入 Android/src/

编译正式包:进入Android目录下后运行以下命令

gradlew assembleRelease

==>


MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=nicole
MYAPP_RELEASE_KEY_PASSWORD=nicole
 defaultConfig {
        applicationId "com.mydemo"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 1
        versionName "1.0"
    }
    signingConfigs {
            release {
                storeFile file(MYAPP_RELEASE_STORE_FILE)
                storePassword MYAPP_RELEASE_STORE_PASSWORD
                keyAlias MYAPP_RELEASE_KEY_ALIAS
                keyPassword MYAPP_RELEASE_KEY_PASSWORD
            }
        }
    splits {
        abi {
            reset()
            enable enableSeparateBuildPerCPUArchitecture
            universalApk false  // If true, also generate a universal APK
            include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
        }
    }
    buildTypes {
        release {
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
            signingConfig signingConfigs.release
        }
    }

 

2018-06-11 14:47:25 azhezzz 阅读数 754
  • 完全征服React Native

    React Native是Facebook于2015年推出的跨平台开发工具,可用于开发Android和iOS App,并且同时具有混合开发的优点(热更新,跨平台)以及本地App的性能。 本课程采用新的ES6开发,主要内容包括ReactNative的基础知识,ReactNative的布局,组件,API,封装本地API和组件,发布ReactNative App,本地与ReactNative深度结合

    58234 人正在学习 去看看 李宁

react-native 打包APK


参考文档 Tags: https://reactnative.cn/docs/0.51/signed-apk-android.html#content

注意:

  • 文档中生成签名秘钥的步骤可以通过Android Studio生成
  • 文档中gradle变量可以不设,则在android/app/build.gradle中需要明文配置签名(有安全隐患)

可能遇到的问题:

issue 1

Could not find com.android.tools.lint:lint-gradle:26.1.1.

fixed

android/build.gradle文件中进行如下修改

allprojects {
    repositories {
        mavenLocal()
        jcenter()
        google() //添加这一行
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
    }
}

issue 2

Could not list contents of ‘xxxxx/node-pre-gyp/node_modules/.bin/detect-libc’. Couldn't follow symbolic link

fixed

重新安装根目录下的node_modules

rimraf node_modules && npm install

issue 3

Failed to process resources, see aapt output above for details.
打包包含有本地图片资源时报的错误

fixed

android/gradle.properties文件添加这一句

android.enableAapt2=false

2018-06-04 15:11:27 Stephen__Wu 阅读数 487
  • 完全征服React Native

    React Native是Facebook于2015年推出的跨平台开发工具,可用于开发Android和iOS App,并且同时具有混合开发的优点(热更新,跨平台)以及本地App的性能。 本课程采用新的ES6开发,主要内容包括ReactNative的基础知识,ReactNative的布局,组件,API,封装本地API和组件,发布ReactNative App,本地与ReactNative深度结合

    58234 人正在学习 去看看 李宁

react-native 打包APK

Android要求所有应用都有一个数字签名才会被允许安装在用户手机上,所以在把应用发布到类似Google Play store这样的应用市场之前,你需要先生成一个签名的APK包。Android开发者官网上的如何给你的应用签名文档描述了签名的细节。本指南旨在提供一个简化的签名和打包js的操作步骤,不会涉及太多理论。

1. 生成一个签名密钥

keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

这条命令会要求你输入密钥库(keystore)和对应密钥的密码,然后设置一些发行相关的信息。最后它会生成一个叫做my-release-key.keystore的密钥库文件。

在运行上面这条语句之后,密钥库里应该已经生成了一个单独的密钥,有效期为10000天。–alias参数后面的别名是你将来为应用签名时所需要用到的,所以记得记录这个别名。

提示:如果上面的命令执行有错,它会给出新的命令行提示,使用新的命令行就可以了.

2.设置gradle变量

  1. my-release-key.keystore文件放到你工程中的android/app文件夹下。

  2. 编辑~/.gradle/gradle.properties(没有这个文件你就创建一个),添加如下的代码(注意把其中的****替换为相应密码)

    ~表示用户目录,比如windows上可能是C:\Users\用户名,而mac上可能是/Users/用户名。

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=*****
MYAPP_RELEASE_KEY_PASSWORD=*****
```

3.添加签名到项目的gradle配置文件

编辑你项目目录下的android/app/build.gradle,添加如下的签名配置:

...
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
        }
    }
}
...

这里写图片描述

4. 生成发行APK包

$ cd android && ./gradlew assembleRelease

生成的APK文件位于android/app/build/outputs/apk/app-release.apk,它已经可以用来发布了。
如果生成的Apk的名称为app-release.apk,则说明可以了;否则,打包过程就是有问题的,这时候要检测哪一步有问题改好就可以

2019-05-04 16:56:07 darendu 阅读数 30
  • 完全征服React Native

    React Native是Facebook于2015年推出的跨平台开发工具,可用于开发Android和iOS App,并且同时具有混合开发的优点(热更新,跨平台)以及本地App的性能。 本课程采用新的ES6开发,主要内容包括ReactNative的基础知识,ReactNative的布局,组件,API,封装本地API和组件,发布ReactNative App,本地与ReactNative深度结合

    58234 人正在学习 去看看 李宁

一、打包步骤(原文链接:http://www.studyshare.cn/blog/details/1142/1
java开发工具下载地址及安装教程大全,点这里。更多深度技术好文,在这里
1、生成keystore签名文件

cd到项目根目录,然后执行以下命令:

keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

然后根据提示输入相关信息
在这里插入图片描述

2、将生成的签名文件放置到android/app目录下
在这里插入图片描述
3、在android/gradle.properties中加入如下代码:

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=******
MYAPP_RELEASE_KEY_PASSWORD=******

4、在android/app/build.gradle修改和添加下面的内容

def enableProguardInReleaseBuilds = true

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
}

}
splits {
    ....
}
buildTypes {
    release {
        signingConfig signingConfigs.release
       ...
    }
}
  .....

}

5、在终端进入android目录下执行以下命令

./gradlew assembleRelease
在这里插入图片描述
如果显示BUILD SUCCESSFUL.则表示打包成功,进入到android/app/outputs/apk/release/下查看apk文件

二、常见问题

1、出现error:uncompiled PNG file…如下图
在这里插入图片描述
解决方法:在android目录下的gradle.properties属性文件中加入android.enableAapt2=false
java开发工具下载地址及安装教程大全,点这里
更多深度技术好文,在这里

react native 打包APK

阅读数 104

react native打包apk

阅读数 149

React Native打包apk超详细步骤

博文 来自: weixin_43586120

react-native 之打包apk

博文 来自: u012827205
没有更多推荐了,返回首页