2017-02-24 7 views
2

私はcordovaプラグインを開発しています。このプラグインでは、ライブラリorg.apache.http.legacyを使用します。このライブラリをlibフォルダに正常にコピーします。しかし、私はuseLibrary 'org.apache.http.legacy'を私のbuild.gradleファイルに書く必要があります。android cordovaプラグインでbuild.gradleに "useLibrary"を追加

どうすればいいですか?

私のplugin.xml:

[...] 

<platform name="android"> 
    <config-file target="AndroidManifest.xml" parent="/manifest/application"> 
     <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="DownloaderActivity" android:launchMode="singleTop" android:name="[pluginPath].DownloaderActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustPan"> 
     </activity> 
     <service android:name="[pluginPath].DownloaderService" /> 
     <receiver android:name="d[pluginPath].DownloaderServiceBroadcastReceiver" /> 
    </config-file> 

    <config-file target="AndroidManifest.xml" parent="/manifest"> 
     <uses-permission android:name="com.android.vending.CHECK_LICENSE" /> 
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
     <uses-permission android:name="android.permission.INTERNET" /> 
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
    </config-file> 

    <config-file target="res/xml/config.xml" parent="/*"> 
     <feature name="ExpansionFileReader"> 
      <param name="android-package" value="[pluginPath].ExpansionFileReader" /> 
     </feature> 
    </config-file> 

    <source-file src="src/android/ExpansionFileReader.java" target-dir="src/de/[path]/cordova/plugin" /> 
    <source-file src="src/android/expansion" target-dir="src/de/[path]/cordova/plugin" /> 
    <source-file src="src/android/zipfile" target-dir="src/de/[path]/cordova/plugin" /> 
    <source-file src="src/com" target-dir="src" /> 
    <source-file src="src/android/org.apache.http.legacy.jar" target-dir="libs" framework="true" /> 

    <framework src="com.google.http-client:google-http-client-android:+" /> 
    <framework src="com.google.api-client:google-api-client-android:+" /> 
    <framework src="com.google.api-client:google-api-client-gson:+" /> 
    <framework src="com.google.code.gson:gson:2.2.4" /> 
</platform> 
[...] 

私はbuildExtension.gradle

android { 
    useLibrary 'org.apache.http.legacy' 
} 

が含まれています。しかし、それは動作しませんでした<framework src="src/gradle/buildExtension.gradle" custom="true" type="gradleReference" />を、使用しようとしました。ところで、フレームワークタグはどちらも機能しません。

誰にでも解決策がありますか?

+0

私は同じ問題を抱えていますが、解決策を見つけましたか? – 23tux

+0

私はちょうど私が投稿した解決策だと思います。それが役に立てば幸い。がんばろう! –

答えて

0

これが解決されている可能性が:

私はGradleの一部を追加するビルドextras.gradleファイルを追加しました:

のplugin.xml:

[...] 
<source-file src="src/android/ExpansionFileReader.java" target-dir="src/de/projektionisten/cordova/plugin" /> 
<source-file src="src/android/expansion" target-dir="src/de/projektionisten/cordova/plugin" /> 
<source-file src="src/android/zipfile" target-dir="src/de/projektionisten/cordova/plugin" /> 
<source-file src="src/com" target-dir="src" /> 

<source-file src="src/android/build-extras.gradle" target-dir="CordovaLib" /> 
<source-file src="src/android/org.apache.http.legacy.jar" target-dir="libs" framework="true" /> 
<framework src="src/android/build-extras.gradle" custom="true" type="gradleReference" /> 
[...] 

ビルドextras.gradleを:

android { 
    useLibrary 'org.apache.http.legacy' 
} 
関連する問題