美文网首页Android知识Android开发经验谈
RN reactNative打包签名那些事

RN reactNative打包签名那些事

作者: 蜗壳美如画 | 来源:发表于2016-09-01 16:43 被阅读907次

    今天遇到了 个bug, 就是 原来有个 安卓的 RN 项目 ,用 keytool命令 方式打包, 在真机上能用 签名工具 生成 签名; 现在 想做个新项目, 就把 原来的 项目拷贝了一份, 改了 包名等信息,然后 用 http://reactnative.cn/docs/0.24/signed-apk-android.html#content的方式重新打包,但是真机上用签名工具 却生成不了 签名, 用 原来项目的包名 却能生成签名,但是我真机上原来项目的APK 已经删了, 就意味着,  签名工具 根据 旧项目的包名找到了真机上的APK, 但是这个APK 是 新项目打包生成的,后来查看了 http://blog.csdn.net/fengyuzhengfan/article/details/47613499和 http://blog.csdn.net/fengyuzhengfan/article/details/51958848 等相关文章,发现 包名得在2个地方改,一个是 AndroidManifest.xml ,另一个是 /android/app/build.gradle里的 applicationId,这才OK了;

    后来又发现了个要注意的地方, 就是 用 http://reactnative.cn/docs/0.24/signed-apk-android.html#content 里的 编辑~/.gradle/gradle.properties, 相当于把某个项目的信息编辑到了全局的gradle里, 那么其他项目要打包时,就得把 ~/.gradle/gradle.properties里的 信息 改成对应项目的信息,否则执行 ./gradlew assembleRelease 命令时会报错 

    Execution failed for task ':app:validateReleaseSigning'.

    > Keystore file /Users/Ebates/Desktop/chamWork/ReactNative/Demo/Extrabux/android/app/com.ebates.ChildhoodFood.keystore not found for signing config 'release'.

    其实 原文里 让设置~/.gradle/gradle.properties里的信息没必要,因为以后不同项目打包时还得改这个gradle.properties全局文件的内容,故只需要 在自己项目的

    文件里 改 

    上图里的 pass 的意思请看 http://blog.csdn.net/fengyuzhengfan/article/details/51958848

    箭头指的 2处 的内容 为  

    里 2个 红框里的内容 即可, ~/.gradle/gradle.properties 里的 内容就可 删了

    相关文章

      网友评论

        本文标题:RN reactNative打包签名那些事

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