ionic3打包安卓apk报错:You have not accepted the license agreements of the following SDK components

ionic3打包安卓apk报错:You have not accepted the license agreements of the following SDK components,第1张

错误原因

从Android Gradle plugin 2.2.0开始,gradle会自动加载需要的SDK, build-tools,但是因为没燃碰有接受license,导致加载依赖终止。

解决办法

(1)找到自己的android SDK位置,进入Tools/bin目录下

(2)打开cmd(不要用其他的),进入上面的目录

(3)输入下面命令

sdkmanager.bat --licenses

(4)输入之后塌逗,会跳出来很多东西,我们只需要全皮衫谈部写上y即可

(5)成功提示

官方文档: Installing Ionic - Ionic Documentation

1.删除旧版本ionic

npm uninstall -g ionic

2.安装新版本

npm install -g @ionic/cli

值得注意的是,ionic的资源包变为了ionic/cli

在cmd或终端进入合适的目录,然后运行命令:

ionic start 项目名称 tabs

然后选择项目类型(Angular、React、Vue),这里选择的是Angular,回车

大概意思是是否集成capacitor,这里暂时卜李先选NO,等待安装node_modules

是否创建ionic账号,选择NO,项目创建完成,然后进入创建的项目目录下,输入命令启动服务:

ionic serve  

启动成功!

3-1-1 添加安卓平台

ionic capacitor add android

没有www文历源件。尝试运行一下ionic build,然后再次运行添加平台命令,项目中多了android文件夹

因为官方并没有提供直接打包的命令,需要借助android studio来打开安卓项目,在项目中运行命令:

npx cap open android

这样直接启动android studio并打开该安卓项目

对于android studio的安装和android_SDK以及安卓模拟器的配置可以自行了解学习一下,我这里是已经搭建好的安卓开发环境。

点击运行按钮,就可以在模拟器上运行该程序

每次对ionic项目做更改需要把这些更新同步到安卓项目中,需要运行命令:

ionic capacitor copy android

3-1-2 添加iOS平台

在项目目录下运行命令: 

ionic capacitor add ios

报错了,大概是因为cocoapos没有安装或者版本过低,尝试更新一下cocoapos

打开终端,输入sudo gem install cocoapods来升级CocoaPods;

如果遇到

ERROR: While executing gem ... (Gem::FilePermissionError)

You don't have write permissions for the /usr/bin directory.

这个错误的话就改用sudo gem install cocoapods -n /usr/local/bin命令即可。

接下来型烂迟删除ios文件夹,重新添加ios平台,

根据提示,用xcode打开该ios项目

npx cap open ios

点击运行按钮,在iOS模拟器上查看效果

使用cordova添加平台和以前的ionic版本是一样的,首先尝试添加一下android平台:

ionic cordova platform add android

发现报错了,提示在capacitor的项目中不可以使用cordova,如果使用cordova需要禁用capacitor:

ionic integrations disable capacitor

禁用成功。

再次添加安卓平台,提示是否集成cordova,输入y

然后又又又报错了。

这是什么鬼,以前用cordova添加平台没有遇见过,我猜测可能是跟capacitor添加的android文件冲突,于是删除android文件夹再试一次。

果然添加成功!

再尝试一下cordova能不能打包成功:

ionic cordova build android

打包也成功了。

接着又尝试了一下用cordova添加和打包iOS,跟处理android平台的方式一样,先把ios文件夹删除,再进行添加和打包 *** 作,都成功了。

事实证明,新版的ionic版本既可以集成最新的capacitor,也兼容集成cordova。

在实际开发,App经常需要调用摄像头进行拍照,或者从相册中选择照片,以下就拆喊敬是ionic调用手机摄像头的步骤

(1)引入插件

(2)在app.module.ts中引入并声明

并在providers中声明Camera

(3)在需要渗皮用到的页面ts文件中引入

在构造函数constructor中声明private camera: Camera

注意一点旅慎:

iOS设备必须在info.plist文件中添加上相机权限

NSCameraUsageDescription


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11995004.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存