我创建了离子2项目并添加诊断cordova插件,如下所示:
ionic plugin add cordova.plugins.diagnostic
npm install --save @ionic-native/diagnostic
Run Code Online (Sandbox Code Playgroud)
并像这样添加android平台:
ionic platform add android@latest
Run Code Online (Sandbox Code Playgroud)
但是当使用ionic build android
控制台构建时给出了这个错误:
Error: Could not find an installed version of Gradle either in Android Studio,
or on your system to install the gradle wrapper. Please include gradle
in your path, or install Android Studio
Run Code Online (Sandbox Code Playgroud)
我尝试下载manualy gradle.3.3-all.zip并在platform/android/cordova/lib/builders/GradleBuilder.js中更改此distributionUrl var
var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'https\\://services.gradle.org/distributions/gradle-3.3-all.zip'
Run Code Online (Sandbox Code Playgroud)
至:
var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'file:///E:/gradles/gradle-3.3-all.zip';
Run Code Online (Sandbox Code Playgroud)
但不工作和控制台给我最后一个错误.
我不知道如何为android @ latest版本添加gradle
我想知道有更简单的方法来更新cordova插件吗?
我用谷歌搜索,找到了一个钩子(@ 2013年),但这不是我想要的100%.
我知道我可以通过两个步骤来做到这一点:rm,然后添加,但我正在寻找一个更好的(官方)方式来帮助我哪些插件有更新的版本?我可以在一个命令中更新所有这些.(就像:npm更新)
例如:
$ cordova plugin list
/* list all installed plugins, their dependencies, and newer versions */
$ cordova plugin update
/* update all of them for me */
Run Code Online (Sandbox Code Playgroud)
如果没有官方方式,还有其他帮手吗?哟?
我是Cordova CLI的新手.
我需要通过Cordova以编程方式执行以下步骤.
我想我需要在项目根目录中的config.xml文件中执行此操作(或者可能是"platforms"文件夹中的那个).
有人可以向我解释如何通过config.xml添加条目,以便在编译时添加上述条目吗?
我正在使用Cordova 3.3.1-0.42(我知道它不是最新的).我已经完成了我的项目,一切都很好,我只需要将这个条目添加到pList中.
只有在我尝试时才会发生此错误cordova run ios --device
即使在cordova build ios
执行命令后,也会报告非错误.
我做错了什么?以及如何在我的iPhone上调试cordova项目(需要这个,因为需要测试一个Camera功能)
WITH CONFIGURATION Debug ===
Check dependencies
Code Sign error: No provisioning profiles found: No non–expired provisioning profiles were found.
** BUILD FAILED **
The following build commands failed:
Check dependencies
(1 failure)
Error code 65 for command: xcodebuild with args: -xcconfig,/Users/ridermansb/Projects/jdapp/platforms/ios/cordova/build-debug.xcconfig,-project,CorrijaMe.xcodeproj,ARCHS=armv7 armv7s arm64,-target,CorrijaMe,-configuration,Debug,-sdk,iphoneos,build,VALID_ARCHS=armv7 armv7s arm64,CONFIGURATION_BUILD_DIR=/Users/ridermansb/Projects/jdapp/platforms/ios/build/device,SHARED_PRECOMPS_DIR=/Users/ridermansb/Projects/jdapp/platforms/ios/build/sharedpch
ERROR running one or more of the platforms: Error: /Users/ridermansb/Projects/jdapp/platforms/ios/cordova/run: Command failed with exit code 2
You may not have …
Run Code Online (Sandbox Code Playgroud) 我们有一个Angular + Ionic + Cordova项目,有多个开发人员,我们想管理cordova插件依赖项.我们正在使用Cordova CLI 5+,并且在手动运行安装命令(例如cordova plugin add cordova-plugin-camera
)时,会cordovaPlugins
在package.json
文件的部分添加一个新行.这是成品的样子:
"cordovaPlugins": [
"cordova-plugin-camera",
"cordova-plugin-console",
"cordova-plugin-contacts",
"cordova-plugin-device",
"cordova-plugin-dialogs",
"cordova-plugin-file",
"cordova-plugin-geolocation",
"cordova-plugin-media",
"cordova-plugin-media-capture",
"cordova-plugin-network-information",
"cordova-plugin-splashscreen",
"cordova-plugin-statusbar",
"cordova-plugin-vibration",
"com.ionic.keyboard"
]
Run Code Online (Sandbox Code Playgroud)
这一切都很棒,除了我们找不到任何方式让dev#2到npm安装这些插件 - 相反,他必须单独运行命令,然后添加一个重复的行package.json
,弄脏存储库.我们确信必须有一个命令来安装这些,但找不到它.任何人都能解释一下吗?
我注意到由于以下错误,我们CI上的构建开始失败:
Discovered plugin "cordova-plugin-app-version" in config.xml. Adding it to the project
Installing "cordova-plugin-app-version" for android
Adding cordova-plugin-app-version to package.json
Using "requireCordovaModule" to load non-cordova module "q" is not supported. Instead, add this module to your dependencies and use regular "require" to load it.
[ERROR] Exception:
The command '/bin/sh -c ionic cordova platforms add android' returned a non-zero code: 1
Run Code Online (Sandbox Code Playgroud)
在iOS和Android上都发生相同的问题。
经过一番挖掘,我发现cordova 9.0.0是最近发布的。
有几个与此问题相关的更改。
我的第一个想法是,某种程度上我们没有锁定cordova版本,但是我们确实将其锁定到cordova@8.1.2
了dockerfile中。我也在本地计算机和Cordova版本上进行了测试8.1.2
。所以这不是问题。
在查看了更多日志之后,我注意到了一些类似以下的日志:
cordova-android version check failed ("/app/platforms/android/cordova/version"), …
我需要查看所有已安装的Cordova插件的列表.
有人知道怎么做吗?
这是我的android插件,我的一个方法需要一个上下文,有什么办法可以获得这个上下文?
public class GaziruPlugin extends CordovaPlugin{
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException
{
String value = args.getString(0);
BASE64Decoder decoder = new BASE64Decoder();
try {
byte[] imageByte = decoder.decodeBuffer(value);
Classlogic method = new Classlogic();
//this method requires a context type.
method.DoLogic(context,imageByte);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
}
我希望你能帮助我.谢谢
我一直在努力设置我的cordova插件项目.主要是由于以下事实:
插件需要位于远离主项目的单独文件夹中
例如,当我使用cordova build android
构建项目时,cordova从我的插件文件夹中复制java文件并将其放入platforms/android/src
文件夹中.
因此,我不应该手动修改Android项目中的插件的.java文件,我必须在我的插件文件夹中编写我的代码.
但我无法将插件文件夹导入IDE项目,因此我没有代码完成.
没有IDE支持,编写Java/Objective-C基本上是不可能的
如何为我的插件开发设置代码完成的IDE(例如Android Studio)项目?
我使用Cordova构建了一个iOS应用程序.该应用程序尝试在index.html中加载网页,例如http://yourdomain.com/home.但是,该页面在控制台"内部导航被拒绝 - <allow-navigation>未设置为url =' http://yourdomain.com/home '" 时出现错误并且出现错误.
我已经设置<access origin="http://yourdomain.com/home" subdomains="true" />
并尝试设置<allow-navigation>
标签.但页面保持空白.我错过了什么吗?请指导.
在index.html中添加以下元标记后,"内部导航错误"已经消失,但页面仍为空白.:(
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script src: 'self' 'unsafe-inline' 'unsafe-eval'">
Run Code Online (Sandbox Code Playgroud)