Cordovaプラグイン開発スタッフは初めてです。新しいAndroidアクティビティを開き、広告を表示できるプラグインを作成したいと思います。
そこで、私は簡単なチュートリアル here に従いました。それは非常にうまく機能し、予想どおりです。
次のステップは、このAndroid Studio Gradleプロジェクトをプラグインに含めることです。
私の最初の試み:gradleプロジェクトをCordovaプラグインのサブフォルダーに追加し、次の行をplugin.xmlファイルに追加します。
<framework src="libs/Broper/build.gradle" custom="true" type="gradleReference" />
私も試しました:
<framework src="libs/Broper/app/build.gradle" custom="true" type="gradleReference" />
Graddleファイルはcordovaによって認識されます。しかし、何かが機能しません。だから私はそのAndroidスタジオプロジェクトをプラグインにインポートすることはできませんJavaファイル。
それから、より良い解決策(私はそう思った)は代わりにAARを追加することです。しかし、そのAARをCordovaプラグインに追加するために何をすべきかさえ分かりません。
したがって、質問は次のとおりです。正しい方法でAndroid atudio aroject(またはライブラリ)をCordovaプラグインに追加するにはどうすればよいですか?
Cordovaプラグインでgradle参照を使用するために私がやったことは、これがあなたの役に立つかもしれないと思います。
グローバル構造:
pluginFolder/
build-extras.gradle
plugin.xml
yourDirContainingYourAAR/
src/
Android/
yourFile.gradle
myPlugin.Java
ライブラリを入れて、foo.aar
、yourDirContainingYourAAR
ディレクトリ(必要に応じて作成)
の中に plugin.xml
ファイル:
<platform name="Android">
<!-- your configuration elements, references, source files, etc... -->
<framework src="src/Android/yourFile.gradle" custom="true" type="gradleReference" />
<resource-file src="yourDirContainingYourAAR/foo.aar" target="libs/foo.aar" />
</platform>
GradleファイルyourFile.gradle
:
repositories{
jcenter()
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name:'foo', ext:'aar')
}
Android {
packagingOptions {
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
}
}
プラグインのルートフォルダー(同じレベルのplugin.xml
)build-extras.gradle
。必要に応じて、プロジェクトのニーズに応じてminSdkVersion
およびtargetSdkVersion
を追加または削除します。
Android {
defaultConfig {
minSdkVersion 16
targetSdkVersion 22
}
packagingOptions {
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
}
}
ニコの答え に若干の修正が必要です
Gradleが Niko's answer を使用してコンパイルを実行すると、プロジェクトに存在しないapp/libs
のライブラリを検索します(標準のAndroid Studioプロジェクトでは、ただし、Cordova Androidプロジェクト構造では、libsフォルダーが異なります)。ただし、プラグインはaarライブラリをapp/src/main/libs
にコピーするため、aarをapp/libs
にコピーしていると思わせることができます。
<resource-file src="yourDirContainingYourAAR/foo.aar" target="libs/foo.aar" />
したがって、gradleファイルは
repositories{
jcenter()
flatDir {
dirs 'src/main/libs'
}
}
dependencies {
compile(name:'foo', ext:'aar')
}
Android {
packagingOptions {
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
}
}
これにより、アプリのコンパイルが成功します
乾杯!!
Cordovaプロジェクトの作成、プラットフォームの追加、プラグインの追加が完了しました。
Aarファイルがlibsフォルダーにコピーされているとしましょう。 (ファイル名がcards.aarであると仮定します)
次に、アプリbuild.gradleで以下を指定し、プロジェクトをGradleファイルと同期します。
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name:'cards', ext:'aar')
}
わたしにはできる!!ただし、このソリューションの欠点の1つは、。Android Studioのプラットフォームフォルダーからプロジェクトを開き、build.gradleに上記の行を追加する必要があることです。