Articles of ionic framework

Ionic Android build:java.lang.IllegalStateException:未指定buildToolsVersion

从今天开始,某种程度上我的离子项目由于某种原因不再能够构建。 我已经尝试删除平台并再次添加它,但它没有用。 我现在几乎花了三个我们的升级,降级和重新安装cordova和离子但由于某种原因,当我尝试构建Android版本时,我总是得到以下错误: Failed to notify ProjectEvaluationListener.afterEvaluate(), but primary configuration failure takes precedence. java.lang.IllegalStateException: buildToolsVersion is not specified. at com.google.common.base.Preconditions.checkState(Preconditions.java:176) at com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.java:599) at com.android.build.gradle.BasePlugin$10$1.call(BasePlugin.java:566) at com.android.build.gradle.BasePlugin$10$1.call(BasePlugin.java:563) at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:55) at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:47) at com.android.build.gradle.BasePlugin$10.execute(BasePlugin.java:562) at com.android.build.gradle.BasePlugin$10.execute(BasePlugin.java:559) at org.gradle.listener.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:109) at org.gradle.listener.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:98) at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:83) at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31) at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) at com.sun.proxy.$Proxy12.afterEvaluate(Unknown Source) at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:79) at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:65) at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:504) at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:83) […]

Ionic 2 / Ionic 3:如何获取设备的当前位置

不要将此问题标记为重复, stackoverflow上的任何答案都不适合我。 其中很多是针对Ionic 1或者那些答案已被弃用或者它们不适用于Android设备。 我已经在stackoverflow上看到了很多关于获取设备当前位置的解决方案,但其中没有解决方案似乎适用于Android。 我试过的: – 使用geolocation.getCurrentPosition() ,它适用于IOS和浏览器,但不适用于Android 。 使用this.geolocation.watchPosition() ,它适用于IOS和浏览器,但不适用于Android 。 使用navigator.geolocation.getCurrentPosition() ,它适用于IOS和浏览器,但不适用于Android 。 使用此问题提供的小提琴解决方案getCurrentPosition()和watchPosition()在不安全的起源上被弃用 无论如何,所有这些都被谷歌弃用 ,原因是: – getCurrentPosition()和watchPosition()在不安全的起源上被弃用,将来会删除支持。 您应该考虑将应用程序切换到安全的来源,例如HTTPS。 有关详细信息,请参阅goo.gl/rStTGz。 对我有用的是( https://ionicframework.com/docs/native/background-geolocation/)&(https://www.joshmorony.com/adding-background-geolocation-to-an-ionic-2-application / )这两个都是基于background-geolocation plugin但它在Android设备上花费了近50-55秒,再次它对ios工作正常 joshmorony ( https://www.joshmorony.com/adding-background-geolocation-to-an-ionic-2-application/ )解决方案的问题是前景不适用于Android物理设备,但适用于浏览器和ios。 背景跟踪工作正常,这是第一次花费将近50秒的时间来进行拉动。 请帮我解决一下这个。 我想要一种在最短时间内获得当前位置的方法。 对于您的信息,我使用谷歌javascript地图sdk / api。

Cordova ibeacon; 在应用程序被杀后发送本地通知,但在android上无效

我在cordova项目中使用Cordova / Phonegap iBeacon插件和ionicframework 。 当应用程序被杀时,我正在尝试使用cordova本地通知插件在android和ios上发送本地通知。 这是我的代码: document.addEventListener(“deviceready”, onDeviceReady, false); function didDetermineStateForRegion(pluginResult) { } function didStartMonitoringForRegion (pluginResult) { } function didExitRegion(pluginResult) { $cordovaLocalNotification.add({ id: 30244234234, title: “Good By!”, text: “Hope to see you again.” }).then(function () { }); } function didEnterRegion (pluginResult) { $cordovaLocalNotification.add({ title: “Welcome”, text: “Tap to launch app” }).then(function () { }); […]

Ionic模拟ios仅适用于–livereload

我有一个简单的离子应用程序,我正在构建,当我测试ionic serve –lab ,一切看起来很棒,但是,当我尝试使用ionic emulate ios或ionic emulate android仿真模拟器时,应用程序不会加载(似乎所有JS都没有通过)。 我能够附加调试器,没有任何控制台错误。 但是,当我尝试用ionic emulate ios –livereload运行应用程序ionic emulate ios –livereload一切似乎工作正常。 我从头开始尝试另一个示例应用程序来排除我的机器环境,它运行良好。 关于如何在没有–livereload的情况下让模拟工作的任何想法?

config.xml文件中的离子内部版本号错误

我的问题是,如果我编译我的项目,它会在内部版本号中添加2 。 我的Ionic config.xml 我的AndroidManifest.xml 如果我构建调试或发布版本应该是0.0.1(72)但是当我安装应用程序时它是0.0.1(722) 输出aapt aapt d badging apk.apk package: name=’at.company.or.so’ versionCode=’722′ versionName=’0.0.1’platformBuild VersionName=’5.1.1-1819727′ sdkVersion:’14’ targetSdkVersion:’22’ 我认为这是编译时的问题,但我不知道在哪里搜索。

我的cordova webview应用程序比在同一部手机上的Android浏览器中慢得多

我用ionicframework和cordova构建了一个Android应用程序。 但是,当我尝试在我的三星Galaxy S4上运行时,该应用程序的速度比我手机的网络浏览器中的相同代码要慢。 我怎么能期望有相同的性能? 我试过了 : android:hardwareAccelerated=”true” this.appView.getSettings().setRenderPriority(RenderPriority.HIGH); this.appView.getSettings().setPluginState(android.webkit.WebSettings.PluginState.ON_DEMAND); 最后的3.6个cordova版本 我怎样才能拥有我在手机浏览器上看到的相同性能(例如,支持元应用程序)?

Ionic Cordova FileUpload错误:不允许加载本地资源

我是Ionic的新手,我正在尝试上传从Android文件系统中存储的相机拍摄的图像: var ft = new FileTransfer(); console.log(‘Uploading: ‘ + fileURL); ft.upload(fileURL, encodeURI(“http://192.168.192.62:3000/api/meals/picture”), pictureUploaded, function(error) { console.err(error); $ionicLoading.show({template: ‘Ooops error uploading picture…’}); setTimeout(function(){$ionicLoading.hide();}, 3000); }, options); var pictureUploaded = function() { console.log(‘uploaded!’); $ionicLoading.hide(); }; fileUrl指向现有的图像:file:///data/data/com.ionicframework.nutrilifemobile664547/files/Q2AtO1462636767466.jpg 在chrome:// inspect /#devices console中我收到以下错误,看起来因为错误,FileOptions也没有正确发送,这是错误(不允许加载本地资源): Cordova版本:6.1.1离子版本:1.7.14 有任何想法吗? 我一直坚持这个错误。

Cordova / Ionic构建android Gradle错误:支持的最低Gradle版本是2.14.1。 当前版本是2.13

这是我要记录的上述错误的解决方案。 我发现了其他类似的post,但都没有描述这个错误如何与Cordova或Ionic相关联。 如果您不小心,Android Studio使用的Gradle版本与Cordova / cordova–android在其自动生成的应用程序代码中指定的Gradle版本可能不匹配。 如你所知,跑步 $ cordova platform add android (或$ ionic platform add android ,如果你正在构建一个Ionic应用程序)在-project / platforms / android上创建本机应用程序代码。 在该文件夹中,文件:/the-project/platforms/android/cordova/lib/builders/GradleBuilder.js导出一个variables,如下所示: var distributionUrl = process.env[‘CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL’] || ‘http\\://services.gradle.org/distributions/gradle-xy-all.zip’; 其中x和y取决于使用哪个版本的Cordova / cordova-android来构建本机应用程序代码。 当你跑步 $ cordova build android 在distributionUrl var中指定的Gradle版本是用于构建的版本。 现在来这里是棘手的部分。 当您将项目导入Android Studio时,您很可能会收到一条消息,强烈建议您将Gradle升级到更新版本,如下所示: 如果您这样做,Android Studio将下载新版本的Gradle并将其存储在本地并配置项目以使用新下载的本地Gradle分发,这是所选“使用默认等级包装”下面的无线电选项,我最终取消选择,因为这会导致错误。 这会导致问题,因为Android Studio和Cordova现在将尝试使用不同版本的Gradle构建应用程序,您将在Android Studio中获得构建错误,并且 $ cordova build android 在命令行中。 Cordova应用程序的解决方案是始终将Android Studio项目设置为“使用默认gradle包装器”并忽略要升级的诱人消息。 如果您确实想使用较新版本的Gradle,则可以随时更改上述文件中的distributionUrl […]

无法在设备上执行shell命令“getprop,dev.bootcomplete”“:Android的错误

在通过Ionic框架构建和部署新的debug-apk文件到Android模拟器后getprop,dev.bootcomplete我得到了getprop,dev.bootcomplete错误。 模拟器popup到Android的主屏幕,但该应用程序未安装在模拟器上,因此在启动时不会为模拟器打开。 我在这个问题上看过类似的post,尝试了adb中的不同步骤,为模拟器删除和创建新设备,我为API测试的API级别安装了x86和x86_64图像,其中包括API 26。我不确定我还能做些什么。 我不相信从cordova中删除android然后再添加它将解决问题。 错误日志如下。 编辑: 到目前为止,我在这个问题上看到的每篇文章都没有解决这个问题。 我还没有卸载并重新安装Android Studio或任何SDK工具,但我认为我不需要。 可能导致问题的原因是我不得不将我的NDK版本恢复到r16b而不是更新的r17b,因为我的应用程序无法使用离子cordova正确构建。 它正在正确构建,但模拟器仍然有这个问题,不会安装我的应用程序。 错误日志: emulator: Requested console port 5584: Inferring adb port 5585. HAX is working and emulator runs in fast virt mode. (node:11468) UnhandledPromiseRejectionWarning: CordovaError: Failed to execute shell command “getprop,dev.bootcomplete”” on device: Error: C:\Users\noaht\AppData\Local\Android\sdk\platform-tools\adb.exe: Command failed with exit code 1 Error output: error: device […]

错误:源路径不存在:resources \ android \ icon \ drawable-hdpi-icon.png

我想在Mac上使用“ cordova build –release android ”命令从Ionic项目中获取一个APK文件,它不起作用,因为我收到此错误 “错误:源路径不存在:resources \ android \ icon \ drawable-hdpi-icon.png” 。 谁知道它可能来自哪里? 这是config.xml文件的副本: RISE Discover music as you go 谢谢你的帮助。