image.png 生成未经签名的apk文件 Android app 的打包分为 debug 和 release 两种,后者是用来发布到应用商店的版本。...要打包 release 版本的apk文件,只需要在后面加一个 --release 参数即可: ionic cordova build android --release 执行该命令后,会在 ionic...jarsigner03.png 使用zipalign优化已签名的apk 此步骤时非必需操作,但是建议这么做。...表示对已签名文件 zmjj.apk进行优化,优化后的文件名为zmjj_aligned.apk 执行以上命令,结果如下图所示: ?...image.png 如果以前的程序是采用默认签名的方式(即debug签名),一旦换了新的签名,应用将不能覆盖安装,必须将原先的程序卸载掉,才能安装上。
简单来说就是可以将你的 Web 应用打包发布成 IOS/Android APP,并且提供了 Cordova 之外很多强大的服务和新的特性。...注意:这里我下载的纯净版 SDK 之前并没有任何 Android 系统在内,所以同 Platform-tools 一样需要在这里勾选需要的版本然后安装。这里至少需要有一个系统,否则无法创建虚拟机。...下载 Nodejs for Windows 并安装 下载地址:https://nodejs.org/download/ Windows 下安装 Nodejs 环境很简单,在 Nodejs 官网下载正确版本后安装即可...其它 --prod 的作用 在编译命令的最后加上 --prod 会让 app 的启动速度加快,但构建速度会变慢。.../android/build/outputs/apk 下就会生成已签名的安装包 android-release.apk 在 windows 下 storeFile 文件路径应使用 Unix 下的目录分隔符
今天在用ionic2 的ionic resources生成新的icon和splash,生成后安装,应用图标和启动画面依然没变化。。。...不知道大家有没有被坑过,今天被坑了一下午,终于找到了办法: 解决方法 第一次使用ionic resources后根文件夹下会生成一个res文件夹,比如你的项目文件夹名是demo,那么就是demo/res...再ionic run android --prod试试是不是图标和启动画面换成你自己的了?...重新安装cordova cnpm install -g cordova@6.3.1,这里使用cnpm,npm太慢了 使用cordova -v查看版本cordova版本是否降低为6.3.1了 ionic...platform rm android ionic platform add android 最后查看platform/android/res是否是期望的图标和启动画面或者build一个.apk在手机上看
对ionic比较熟悉了,开始围观下其它框架,以比较下各自的优缺点,这次先来的是Weex。.../weexteam/weex-toolkit) sudo npm install -g weex-toolkit 如果提示.xtoolkit的权限问题,则执行下述命令后再次安装: mkdir ~/.xtoolkit...&&chmod 777 ~/.xtoolkit 安装结束后你可以直接使用 weex 命令验证是否安装成功,它会显示 weex 命令行工具各参数: ?.../android下的app/build/outputs/apk/,发现文件名为weex-app.apk,而不是playground.apk,所以找不到。...我猜这是weexpack的bug吧?应该不会一直存在。根据这个猜测,就临时性的把playground.apk全部替换为weex-app.apk。
手机在安装完 base.apk(除 Dynamic Feature 模块之外打包而成的 apk)后,可以在未来任意时刻,安装其余的 Dynamic Feature APK。...transitive R 使得自己模块的 R 类也会包含依赖模块的资源 ID,但声明为 Dynamic Feature Module 后不会再执行 transitive R,导致模块的 R 类无法索引其他模块的资源...经过验证,发现: 在 Google Play 升级新版本时,会同时增量更新已安装的 Dynamic Feature Module,更新后启动返回状态是已安装,无需再次请求下载。...清除 App 数据,不会卸载已安装的 Dynamic Feature Module。...但根据上报发现,弹窗占比极低(≈0.12%)。 2.2.7 疑问:是否有无法 Dynamic Feature 的功能?
我们知道我们的ionic项目是利用npm进行包管理的,npm是根据package.json文件安装依赖的。...我们可以第一次手动再这个目录下执行 npm install 和 ionic cordova pllatform add android 这两个命令,这样再打包的时候 就不会报错了。...首先需要安装插件,在系统管理→插件管理→可选插件 搜索找到 Email Extension Plugin 安装好后,点开要配置的项目配置。 ?...如果是在第一次打开jenkins主页的时候,选择安装了它建议安装的插件,那么这个插件已经有了,其它情况 不太清楚,如果没有就自己安装一下插件。...image.png 下面对 “success” 进行设置,每次利用jenkins打包成功后,将apk文件作为邮件的附件发送给客户 ?
目前遇到问题就是cordova platform add android指令过不去,无法添加android环境,就无法生成android的apk安装包,ios也是一样问题,但是不影响web访问。...使用同事的电脑尝试,无需安装java环境和android环境这一步是能通过的。 我们来看下ionic项目文件 ?...后续 重装系统后,安装要求安装配置了java和Android sdk,Gradle不过java我装的是32位的 然后按照Cordova官网的提示安装了以下几个包 ?...image.png ionic cordova build android --prod --release 成功了 ? 成功生成了apk 这个apk拷贝到手机上无法安装,因为没有签名。...的名称 别名 两句话搞定,在apk的目录下执行。
作为开发者,您希望确保用户尽可能获得最佳体验,并确保您的应用尽可能在所有这些设备上运行。您还希望尽可能多的用户安装您的应用; 您也希望他们持续使用它; 并且您不希望他们因您无法控制的原因卸载您的应用。...第 3 步:使用 Google Play Console 将已签名的 APK 上传到测试轨道。待测试和调整就绪后,将应用正式发布,并分发到世界各地。...应用签名密钥是一种机制,它可以确保在安装应用后,更新始终来自同一个开发者。Google 无法通过此密钥获得额外的访问权限,也无法识别有关开发者的信息。它仅用于签署拆分 APK 以进行安装和更新。...它还可以避免占用应用生命周期内未使用的空间——再次强调,更大的应用更有可能被卸载。...虽然许多 Google Play 用户已经启用了自动更新功能,但许多用户还尚未启用,还有些用户无法频繁连接到高速的 Wi-Fi 连接并保持所有应用的正常更新。
而Ubuntu安装后命令是node) sudo ln -s `which nodejs` /usr/bin/node 要有Java环境 使用oneinstack一键PHP/Java工具安装sun-JDK...Ionic sudo npm install -g cordova ionic 2.通过Ionic创建一个项目 ionic start myApp tabs 3.编译项目成apk cd myApp...ionic platform add android ionic build android 到这里如果没有错误就能生成apk了。...apk路径 myApp/platforms/android/build/outputs/apk/android-debug.apk 4.运行项目 ionic emulate android 免责声明:...本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:zbxhhzj@qq.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
变量 关于密钥库的注意事项: 一旦你在应用市场(应用宝,360等)发布了你的应用,如果想修改签名,就必须用一个不同的包名来重新发布你的应用(这样也会丢失所有的下载数和评分)。...生成的APK文件位于android/app/build/outputs/apk/app-release.apk,它已经可以用来发布了。 5-:测试应用的发行版本 $ cd android && ....在debug和release版本间来回切换安装时可能会报错签名不匹配,此时需要先卸载前一个版本再尝试安装。...重要:启用Proguard之后,你必须再次全面地测试你的应用。Proguard有时候需要为你引入的每个原生库做一些额外的配置。参见app/proguard-rules.pro文件。.... */ def enableProguardInReleaseBuilds = true 个人建议:若是你的项目因为添加此属性无法运行,则删除此配置。因为,这个真的会导致各种奇怪的问题。
1.安装node 许多前端工具的安装都依赖于node的包管理器npm,Node官网: https://nodejs.org/ 安装完成后在cmd中输入 npm -v 回车。...http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK需要配置两个环境变量:(如果已配置就无需再配置...安装ionic和cordova 安装命令 命令行输入 `npm install -g cordova ionic` 安装示意图: ?...然后执行命令cnpm install -g cordova ionic安装ionic和cordova 查看是否安装成功: 查看ionic版本 `ionic -v` 查看cordova版本 `cordova...默认是debug版本,打包出来的apk在 你创建的项目根目录\platforms\android\app\build\outputs\apk\debug目录下。
1.安装和卸载 应用的安装和卸载在任何一款APP中都属于最基本功能。一旦出错,就属于优先级为紧要Critical的缺陷。因此APP的安装和卸载应作为一个测试点多加重视。...(有的系统版本过低,应用不能适配) ▲安装过程中是否能暂停,再次点击,是否能继续安装 ▲安装空间不足时如何表现,是否有相应提示,提示是否友好 ▲安装过程中断网或网络不稳定的情况下,是否有相应提示,以及网络恢复后是否能继续安装...▲是否可以正常删除应用(桌面删除;第三方软件删除;命令行删除) ▲应用卸载后所有的安装文件夹是否全部删除 ▲卸载过程中出现死机,断电,重启等意外的情况,待环境恢复后是否可以继续正常卸载 ▲卸载是否支持取消功能...本文针对前两种注册登录方式进行阐述: 3.1账号密码注册登录; ▲输入正确的账号密码,可正常注册和登录 ▲已注册用户再次注册 ▲未注册用户尝试登录 ▲密码“****”展示 ▲账号输入框对最大长度和格式应有校验...6.软件更新 ▲强制更新(APP开启后要求必须更新,否则无法使用APP):1.多次关闭和打开APP后是否正常跳出更新弹窗,且无法关闭;2.点击更新是否正确跳转至后台配置的更新页面; ▲非强制更新(只提示一次更新
首先是 Nodejs 的命令行工具安装: yarn global add expo-cli 这里不说配置源什么的了,如果慢的话,可以切换国内 yarn 源,安装完毕后,直接使用 expo init AwesomeProject...安装项目,项目安装完毕后进入项目执行 yarn start 会重新安装一次 expo-cli,之后本地启动项目,打开 dev 的浏览器界面如下,最左边可以看到打开的是本地的 expo 得调试台,选择本地...图片 启动后需要 adb devices 检查一下,如果设备在线,再进行下一步: ionic capacitor add android ionic capacitor run android 这一步第一次非常非常慢...图片 运行起来后和 Ioinc 类似,也是有个 debug 的 apk 被装到模拟器里了,测试了一下本地修改前端代码,webpack 本地会进行 watch 和 sync 到模拟器,实现热更新,速度还可以...均采用第一次 debug 启动耗时的时间。
首先是 Nodejs 的命令行工具安装: yarn global add expo-cli 这里不说配置源什么的了,如果慢的话,可以切换国内 yarn 源,安装完毕后,直接使用 expo init AwesomeProject...安装项目,项目安装完毕后进入项目执行 yarn start 会重新安装一次 expo-cli,之后本地启动项目,打开 dev 的浏览器界面如下,最左边可以看到打开的是本地的 expo 得调试台,选择本地...启动后需要 adb devices 检查一下,如果设备在线,再进行下一步: ionic capacitor add android ionic capacitor run android 这一步第一次非常非常慢...运行起来后和 Ioinc 类似,也是有个 debug 的 apk 被装到模拟器里了,测试了一下本地修改前端代码,webpack 本地会进行 watch 和 sync 到模拟器,实现热更新,速度还可以,但是需要频繁的冷起...性能我们直接 adb shell 进入设备后,使用 top命令来观察 app 进程情况: 其中帧数我们用android的开发者功能,GPU截图来标识,编译速度直接用 time 命令统计, 均采用第一次
发布模式(release mode) 发布程序时,开发者需要使用自己的数字证书给apk包签名。使用自己的数字证书给APK签名有两种方法。将在下文描述。...,使用jarsigner再次签名导致的,建议用V2重新签名或者导出一个未签名的apk重新签名即可,如果一定要对当前包重新签名,可以选择将文件修改为.zip后缀,然后解压缩,删除META-INF目录,然后再次压缩为....zip并修改扩展名为.apk后再次签名 jarsigner 错误: java.security.NoSuchAlgorithmException: unrecognized algorithm...出现该错误的原因是因为设备上已经安装了一个同包名但是签名并不一致的apk,需要卸载原有apk重新安装新签名的apk。...] 出现该错误的原因是因为设备上已经安装了一个同包名但是签名并不一致的apk,并且已经安装的应用使用Android的debug签名文件来签名,即将安装的应用使用自定义签名文件签名,需要卸载原有apk重新安装新签名的
若您将该应用发布出去,极大可能被渠道市场拒绝、无法在用户手机安装。...该类应用正真的问题在于,很难发布到正规市场、安装到用户手机上去,而非无法加固。...若确认应用本身无风险问题,可在官网进行申诉,申诉地址:https://m.qq.com/complaint/ 5.应用加固后无法安装/登录闪退怎么办?...1.请确保加固后已重新签名,且加固前后签名保持一致。 ——如何查看apk的签名信息?安装好java,并配置环境变量。...应用加固不可避免的会破坏原有签名,加固后必须对加固包重签名才能发布至应用市场,否则会被提示 “应用未签名”。请务必确保加固前后的签名一致。
android应用的版本主要由versionCode和versionName来决定,android系统是根据versionCode来验证新的apk是否能安装。...如果已安装高版本的应用,就无法使用覆盖安装的方式来装旧的包 之前测试那边向我反馈的一个问题是:Android 5.0的机器,新增了多用户功能,如果安装新版本的应用然后删除掉,再装老版本的,理论上应该是可以装的...(因为已经卸载过了),但实际仍可能遇到安装失败的情况,告知无法安装。...到设置里查找应用后,选择为所有用户删除,才能将应用卸载干净。 还有一个问题就是小米的系统,设备中已安装旧的应用,当使用新的应用进行覆盖安装时,应用的icon可能会显示不正常,重启设备就正常了。...int(可能会溢出的问题) 今天,我们这边的一个同事打包,versionCode写为:20150205001 (2015/02/05/001)其中001表示02/05那天第一次打包,但这里就遇到一个溢出的出问
此安装方式,如果已经存在,无法安装; 推荐使用覆盖安装: adb install -r xxx.apk 比分直接RUN出来的包是test-onlu的无法安装,推荐使用**-t** adb install...安装和卸载 安装: 我们可以使用adb install [option] 命令来将电脑上的一个APP安装到手机上,例如: adb install crime.apk 注意:有时候apk...:覆盖安装:加上**-r**(replace)来替换当前已安装的应用。...adb install -r crime.apk 卸载: 卸载一个当前设备上的某个APP的命令为:adb uninstall [option],前提是你得直到你想要卸载的APP...注意:卸载APP知道它的包名;从电脑上安装APP到手机上只需要知道电脑中APK 的存放路径和APK文件名。 APP卸载后,其缓存文件一般也会被清除。
但那比较麻烦。如果想手工关闭adb服务,可以使用下面的命令。 adb kill-server 在关闭adb服务后,要使用如下的命令启动adb服务。...那如果只有apk文件(Android应用程序的发行包,相当于Windows中的exe文件)该如何安装和运行呢?答案就是adb命令。假设我们要安装一个ebook.apk文件,可以使用如下的命令。...adb install ebook.apk 假设ebook.apk中的package是net.blogjava.mobile.ebook,可以使用如下的命令卸载这个应用程序。...例如,下面的命令分别在模拟器和真机上安装、重新安装和卸载应用程序。...uninstall -k net.blogjava.mobile.ebook 如果想在模拟器或真机上运行已安装的应用程序,除了直接在模拟器或真机上操作外,还可以使用如下的命令直接运行程序。
安装早于 Android Lollipop 版本的设备也可以享受安装文件体积缩小的福利,但其 APK 中将包含所有语言。 在如今,很显然构建一个统一的臃肿的 APK 的做法已经过时了。...首先,App Bundle (应用束)纯粹是为了上传设计的文件,用户无法直接安装和使用它。它是一个 zip 文件,Google Play 从中生成优化的 APK 并将其提供给设备进行安装。...这里我们来看看其中的几条: 较小的应用意味着更多用户可以安装您的应用,而无需考虑删除什么以腾出空间。 较小的应用意味着用户不太可能卸载您的应用以在其设备上腾出空间。...但首先,我们需要获得 Android Studio Canary。另外值得注意的是 Android Studio 3.2 稳定版最近已经发布。...Google Play 会管理您的应用签名密钥,您只使用上传密钥,用于验证您的身份。自己管理应用签名密钥存在风险,因为在丢失密钥后,您将无法更新已发布的应用; 同样,您的密钥很容易被盗。
领取专属 10元无门槛券
手把手带您无忧上云