Android Ios 打包总结

  • Android
  • IOS

Android

下载安装AdroidStudio,下载对应版本的androidSDK和构建工具


下载打包过程中需要用到的一些SDK和Tools


找到你的项目文件,在Android目录下新建local.properties文件,找到本地的SDK文件
安装路径相同时,这里可以复制以下路径,直接改下你电脑的用户名称即可

建立keystore文件,也就是常说的签名文件。
简介(具体介绍参考网址:https://blog.csdn.net/dotuian/article/details/51722300)
Keytool是一个Java数据证书的管理工具 ,Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中。
在keystore里,包含两种数据:

  1. 密钥实体(Key entity)——密钥(secret key)又或者是私钥和配对公钥(采用非对称加密)
  2. 可信任的证书实体(trusted certificate entries)——只包含公钥
    执行以下命令即可创建keystore文件
    keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 36500
    其中红色的部分可以根据自己项目的名称进行命名
    例如:my-appname-key.keystore my-appname-alias
    将生成的keystore放在项目的如下位置


需要查看MD5加密和SHA1码的执行以下命令
这个一般是配置地图的时候会用到这个sha1值
keytool -list -v -keystore my-appname-key.keystore 红色部分为你当前所在目录的keystore文件
(java8 版本输入该命令后可以查看注册微信分享的签名证书)

打包时候的项目配置
首先在以下目录下添加图中如下代码,也就是你当初创建的那两个名称
my-appname.key.keystore my-appname.alias
密码就是你当初设置的密码,两者可以一样也可以不同


完善signingConfigs和buildTypes
代码如下

 signingConfigs {release {storeFile file(MYAPP_RELEASE_STORE_FILE)storePassword MYAPP_RELEASE_STORE_PASSWORDkeyAlias MYAPP_RELEASE_KEY_ALIASkeyPassword MYAPP_RELEASE_KEY_PASSWORD}debug {storeFile file(MYAPP_RELEASE_STORE_FILE)storePassword MYAPP_RELEASE_STORE_PASSWORDkeyAlias MYAPP_RELEASE_KEY_ALIASkeyPassword MYAPP_RELEASE_KEY_PASSWORD}}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"signingConfig signingConfigs.release}}


打包App
执行以下命令,打包App
cd android && ./gradlew assembleRelease
完成后直接在命令行输入 open .
然后 按照以下路径找到安装包 app-build-outputs-apk-release-apprelase.apk
找到apk安装即可
fir.im 可以上传安装包扫码安装,也可以直接用android手机点击当前apk进行安装

常见的一些问题
由于当前的RN版本更新 你可能看到的不是以前的结构了
现在的版本和构建工具都放在了这里
当你的项目中有某个组件有版本问题的时候,你也可以直接修改版本和构建工具,向subprojects这段代码,指定你需要的版本和构建工具。
这是react-native-image-picker出现的问题


连接真机的时候要打开悬浮窗和手机的开发者模式,以及数据连接,不要设置为充电模式
还有一些手机的特殊性,例如:小米、魅族等,需要开启不同的设置,具体信息可以百度,上面都会有说明。
魅族的安装包不兼容,需要清除访客数据等。
通常我们还会遇到修改android的包名和应用名称以及应用的图标(新版本android图标有修改,又增加了许多)
具体的位置如下图所示 (顺序 应用图标-启动页配置图标-应用名称-应用包名)

android的启动页配置图片


应用名称

6处需要修改的地方


上传keystyle文件到gitlib
由于上传的限制,我们每次上传项目到gitlib上的时候都会被忽略一些文件,比如我们的.keystore文件,这样我们每次在不同电脑跑项目的时候还要向开发者所要keystore文件,很麻烦。我们也可以直接在项目的根目录下将.keystore文件末尾加一个s例如.keystores这样就不会被忽略,会和项目一起上传到gitlib上面,使用的时候修改回来即可。(个人意见)

IOS

安装Xcode,具体安装步骤网上都有。
最近AppStore由于升级ios12.0的系统,所以Xcode最低版本为10.0

打开项目,点击Open another project 找到你的项目,点击ios目录,然后用xcode打开下图文件即可


打开后的样子
你可以看到包名,bundle id ,版本号等等,这里要注意这个版本号,你每次更新上传应用的时候都要修改一下你的版本号
因为同一版本号的文件是不允许被上传两次的
所以每次修改例如这样:1.0-1.1-1.2或者1.0.0-1.0.1-1.0.2等等


首次下载后,如果你的sppstore账号是一个新注册的账号,也就是说还没有上传过任何的应用,那么你要先去注册一个套装,
这里就会用到你项目的bundle id这里就不详细说明了具体自行百度查找注册即可。

这里有一个Team也就是你需要上传的账号的team,这里你要登录你的苹果开发者账号,下载证书到本地


如果你的开发者账号是没有使用过的你还要添加注册一个设备,也就是设备的UUID
连接你的手机,选择手机后选择team,然后Register一个设备
小锤子的框框选择上你当前连接的设备手机-选择你登录账号的team-这个时候首次的话会有个注册Register,点击后会显示如下图


配置完成之后clearn一下你的项目然后点击Archive进行打包

打包过程中如果出现问题,可以点击问题日志进行查看


打包完成之后会自动弹出一个选项卡,没有弹出的话可以按照以下步骤操作


完成后的打包文件
可以直接上传AppStore,也可以Export一个Ipa文件,安装在你注册的设备上进行测试,没有什么问题后在上传到商店
然后在登录你的苹果账号点击构建版本然后添加你上传的应用即可,其他填写信息网上很全,直接自己一步一步的填写就可以了
注:上传的ipa文件由于需要处理和国外网络的原因会有一段时间才能在构建版本中看到,所以会有一段时间的延迟,如果一直没有上传成功,那么就是你的应用上传审核的时候出了问题,具体问题他们会通过你开发者账号的邮箱反馈给你,你可以查看并且修改重新上传,这里就要再次修改版本号了。
这里的问题一般都是权限问题,也就是info.plist文件中的权限配置需要加string字段的没有加上,也就是你调用手机的位置信息、相机、相册等,需要注明你要干什么用。

AndroidIos打包相关推荐

  1. 在线打包app平台以及流程平台分析(AndroidiOS)

    移动互联网时代,我们需要为自己的业务.博客.产品或服务制作一款移动应用程序.但时常会面临人力.时间.金钱成本诸多障碍. 好消息是,现在进入移动市场不再一定需要数万或数十万的资金,也不需要几个月的研发打 ...

  2. 本地打包Docker镜像上传至阿里云远程仓库(一站式脚本)

    打包镜像上传至远程仓库: 1. 本地项目为 mytest-project 2. 仓库为阿里云镜像仓库 registry.cn-beijing.aliyuncs.com/test/mytest-proj ...

  3. 使用Maven打包生成的-SNAPSHOT.jar与-RELEASE.jar分别代表什么?SNAPSHOT是什么意思?RELEASE是什么意思?

    使用Maven打包后生成 XXXXXXX-1.0.0-SNAPSHOT.jar 和 XXXXXXX-1.0.0-RELEASE.jar 的区别???? 首先,根本原因:这是因为你的pom.xml中的项 ...

  4. IDEA集成Docker插件实现一键自动打包部署微服务项目

    一. 前言 大家在自己玩微服务项目的时候,动辄十几个服务,每次修改逐一部署繁琐不说也会浪费越来越多时间,所以本篇整理通过一次性配置实现一键部署微服务,实现真正所谓的一劳永逸. 二. 配置服务器 1. ...

  5. Redis 笔记(15)— 管道 pipeline(客户端将批量命令打包发送用来节省网络开销)

    Redis 是一种基于客户端-服务端模型以及请求/响应协议的 TCP 服务.这意味着通常情况下一个请求会遵循以下步骤: 客户端向服务端发送一个查询请求,并监听 Socket 返回,通常是以阻塞模式,等 ...

  6. Pyinstaller 打包 torch 后执行失败 OSError: could not get source code

    1. 问题现象 系统环境 Python 3.6.9 torch 1.2.0 torchvision 0.4.0 Pyinstaller 4.5.1 Pyinstaller 打包 torch 后执行失败 ...

  7. 使用 alpine 打包镜像注意事项

    Alpine Linux 是一个相当精简的操作系统,而基于它的 Docker 镜像可以仅有数 MB 的尺寸.如果软件基于这样的系统镜像之上构建而得,可以想象新的镜像也是十分小巧的. 由于基于 Alpi ...

  8. python打包成exe可执行文件指定进程名字

    在上一篇中,我们讲了怎样用python编写一个简单的番茄钟程序.在这篇中,我们来试试把它打包成可独立运行的exe程序,方便我们每日使用使用. 安装pyinstaller 首先,我们需要安装一个叫pyi ...

  9. linux C++打包程序总结

    linux C++打包程序总结 linux c++ 动态库打包 应用程序打包 动态库搜索路径 问题 linux环境下打包C++应用程序,包括依赖的动态库,以便解决程序发布后程序运行动态库缺失问题 解决 ...

最新文章

  1. 安装MMCV和MMDET
  2. 深度学习 end2end
  3. Windows python用impyla连接远程Hive数据库
  4. Maven知识点简要
  5. 数据算法之希尔排序(shellSort)的Java实现
  6. 现在装修还有必要铺设网线吗?
  7. 在windows、linux中开启nginx的Gzip压缩大大提高页面、图片加载速度转
  8. open cv python_Open CV非常牛逼!众所周知!今天就来见识一下它究竟有多牛逼!
  9. python字符串转为ascii码_Python转义字符及用法
  10. 如何让Linux上的GPG error 无法验证的这个公钥 NO_PUBKEY D97A3AE911FXXXXX 出错信息消失?
  11. 如何根据DBC计算CAN与CANFD的负载率
  12. vue elementui 表格数据 时间格式转换
  13. 《智慧工地单点解析系列(四)—— 安全管理》
  14. java版我的世界附魔指令_我的世界手机版附魔指令 怎么使用附魔指令大全
  15. 创始人如何设置公司股权结构?
  16. 基于Annoy的语义泛化-代码模块化
  17. 作业1.老狼几点了。凌晨,上午,下午,晚上。
  18. 余额宝暴富记:为“草根”量身定做
  19. 通过百度坐标获取地址
  20. Nginx OpenResty Tengine到底改选哪个?

热门文章

  1. 【Python Web】Flask框架(一)快速开发网站
  2. javascript开发微信小程序,怎么把手写稿子转换成word,如何快速把手稿转换为电子稿
  3. HTTP Server和Application Server
  4. MAX6951EEE+T LED显示驱动器MAXIM 共阴极显示驱动器
  5. java容器系列一(java容器Collection概述)
  6. 数据仓库中的数据粒度
  7. 【操作系统】简易文件系统设计
  8. 可用的rtmp,rtsp,http网络流地址(2020-08-27更新)
  9. LaTeX入门|(2)定制专属模板
  10. 数据类型---C语言变量的定义与初始化