珂珂的个人博客 - 一个程序猿的个人网站

Ionic 的Android项目加入原生代码

    前几天用Ionic生成Android平台后在Android Studio中是可以运行的,好像也加入了自己的原生代码,但不知为何现在找不到代码了,重新加入却遇到各种问题,最终还是build成功,记录一下。

    导入Android Studio后先修改AndroidManifest.xml  注意这里包名不能改,否则即便build成功运行也会报找不到class错误,我猜是因为 config.xml或者其他地方有 io.ionic.starter造成的,我不是专业开发Android,有很多地方小白。

其他Activity声明如果没在这个包下只好写完整像这样

<activity android:name="com.kecq.myinfo.MainActivity" />

然后把java文件夹和res文件夹复制到工程中,如果java 报R错误,先在AndroidManifest.xml 声明就可以了。

接着在Module:app 的build.gradle 中加入依赖,注意是根节点,之前就是加入到第二个红框导致问题,PhotoView引入2.0.0版本,最新版本报错,应该是gradle版本问题

根节点引入是会出现在下面的对话框中的,否则不会。



这个根节点下的红框代码也是新加的,目的是引入 PhotoView 组件


到此就完成了,在模拟器中运行通过。

现在又发现问题.......突然编译通不过,程序包R不存在, 要引入 io.ionic.starter.R 才行,总不能每个Activity 都去改吧,于是我又把程序中的config.xml 的

<widget id="com.kecq.myinfo"

替换了,还替换了android.json  当然AndroidManifest.xml也改了,结果发现还是报错Error: Activity class {io.ionic.starter/com.kecq.myinfo.IonicMainActivity} does not exist.

我就奇怪了,整个项目都搜索不到io.ionic.starter  到底是哪里来的........突然灵机一动,应该在顶层目录用 ionic 命令行编译次,果然查了下把config.xml 的widget改了 再运行ionic cordova run android

成功,回到Android Studio 中发现部分文件被替换,所以要小心操作。


上一篇:个人代码全部开源

下一篇:Ionic 的Android项目加入原生代码


0 评论

查看所有评论

给个评论吧