Silverbase-FE / cordova-plugin-amap

Amap Maps plugin for Cordova
Apache License 2.0
50 stars 14 forks source link

安卓打包报错 #14

Closed rcho19 closed 5 years ago

rcho19 commented 5 years ago

你好,安卓打release包报错了,是不是需要在打包时候就直接生成签名包呢? 我是先打了release,生成未签名的apk后才签名的。但是打包直接报错了。 ionic cordova build android --prod --release

Ionic环境: @ionic/cli-utils : 1.19.2 ionic (Ionic CLI) : 3.20.0 global packages: cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1) local packages: @ionic/app-scripts : 3.2.0 Cordova Platforms : android 7.0.0 Ionic Framework : ionic-angular 3.9.2

错误信息: :app:compileReleaseJavaWithJavac E:\WorkSpace\IONIC-Pro\City_Economic_School\Teachers\platforms\android\app\src\main\java\com\yxt\cordova\AMapPlugin.java:13: ����: ��� ���com.amap.api.location������ import com.amap.api.location.AMapLocation; ^ E:\WorkSpace\IONIC-Pro\City_Economic_School\Teachers\platforms\android\app\src\main\java\com\yxt\cordova\AMapPlugin.java:14: ����: ��� ���com.amap.api.location������ import com.amap.api.location.AMapLocationClient; ^ E:\WorkSpace\IONIC-Pro\City_Economic_School\Teachers\platforms\android\app\src\main\java\com\yxt\cordova\AMapPlugin.java:15: ����: ��� ���com.amap.api.location������ import com.amap.api.location.AMapLocationClientOption; ^ E:\WorkSpace\IONIC-Pro\City_Economic_School\Teachers\platforms\android\app\src\main\java\com\yxt\cordova\TraceActivity.java:94: ����: ������R������ mTvTitilBack = (TextView) findViewById(R.id.title_back); ^ E:\WorkSpace\IONIC-Pro\City_Economic_School\Teachers\platforms\android\app\src\main\java\com\yxt\cordova\TraceActivity.java:95: ����: ������R������ mRlTitil = (RelativeLayout) findViewById(R.id.title_rl); ^ E:\WorkSpace\IONIC-Pro\City_Economic_School\Teachers\platforms\android\app\src\main\java\com\yxt\cordova\TraceActivity.java:121: ����: �Ҳ������� mMapView = (MapView) findViewById(R.id.map); ^ ����: �� MapView λ��: �� TraceActivity E:\WorkSpace\IONIC-Pro\City_Economic_School\Teachers\platforms\android\app\src\main\java\com\yxt\cordova\TraceActivity.java:121: ����: � �����R������ mMapView = (MapView) findViewById(R.id.map); ^ E:\WorkSpace\IONIC-Pro\City_Economic_School\Teachers\platforms\android\app\src\main\java\com\yxt\cordova\TraceActivity.java:169: ����: �Ҳ������� aMap.moveCamera(CameraUpdateFactory.zoomTo(15)); ^ ����: ���� CameraUpdateFactory λ��: �� TraceActivity ע: ijЩ�����ļ�ʹ�û򸲸����ѹ�ʱ�� API�� ע: �й���ϸ��Ϣ, ��ʹ�� -Xlint:deprecation ���±��롣 ע: ijЩ�����ļ�ʹ����δ�������򲻰�ȫ�IJ����� ע: �й���ϸ��Ϣ, ��ʹ�� -Xlint:unchecked ���±��롣 100 ������ FAILED

FAILURE: Build failed with an exception.

27 actionable tasks: 1 executed, 26 up-to-date

BUILD FAILED in 8s [ERROR] An error occurred while running cordova build android --release (exit code 1)

rcho19 commented 5 years ago

在android studio弄好了可以成功打包。 看了您在提问中的回答,需要Add As Library 然后替换包名后打包就好了。 现在测试发现在三星S8(android8.0)上定位后没有返回值,回调函数不触发。 在另一个5.1.1版本中定位正常。 还有个问题,再执行ionic cordova plugin rm cordova-plugin-amap后,插件目录下的文件删除了,但是platform里的还在。 感谢您开发的这个插件,期待会更好。

rcho19 commented 5 years ago

@Rain1368189893 不知道是不是定位权限问题,安卓8.0定位回调不触发,AMapplugin打印出来是个function,请问那个定位权限代码该怎样添加到MainActivity 中呢?

liveKang commented 5 years ago

image 移除 plugins 后,需要 rm platform,再重新add platform。

rcho19 commented 5 years ago

@Rain1368189893 感谢您的回复!明白了,现在是这样操作的。 尝试在android studio里编译项目和打包,没有生成amap文件夹,不知道是哪里不对还是环境问题。 在安卓8.0上也测试了您提供的测试app,同样没有权限申请提示,定位回调也没有触发。在安卓7.1.1上使用正常。 在我的项目中安卓7.1.1也不行,可能还是哪里配置的有问题。

rcho19 commented 5 years ago

@Rain1368189893 您好,最近尝试添加定位权限后在安卓8.0上尝试,还是没有触发回调方法。在android studio中编译了也没有amap类[捂脸],不太懂安卓原生自己搞不定了[捂脸]

rcho19 commented 5 years ago

解决了,确实是权限请求的问题,必须要用户点击同意才能定位。

liveKang commented 5 years ago

👍