1

APIとの通信に使用される1つの純粋なJavaモジュールと、そのAPIモジュールを利用する1つのAndroidプロジェクトで構成されるAndroid Studioにマルチモジュールセットアップがあります。ユーザー名やパスワードなどの API 変数を構成するには、Owner ( http://owner.aeonbits.org/ ) を使用します。全体が問題なくビルドされます。

API モジュールで Main 関数を使用して、正常に機能することをテストします。そこには。私の問題は、API モジュールへのコンパイル依存関係を使用して Android プロジェクトを実行しようとすると、次のメッセージが表示されてクラッシュすることです。

  java.lang.NoClassDefFoundError: java.beans.PropertyEditorManager
        at org.aeonbits.owner.Converters$4.tryConvert(Converters.java:147)
        at org.aeonbits.owner.Converters.doConvert(Converters.java:227)
        at org.aeonbits.owner.Converters.convert(Converters.java:222)
        at org.aeonbits.owner.PropertiesInvocationHandler.resolveProperty(PropertiesInvocationHandler.java:83)
        at org.aeonbits.owner.PropertiesInvocationHandler.invoke(PropertiesInvocationHandler.java:54)
        at $Proxy2.local_server_url(Native Method)
        at se.springworks.api.client.M2HClient.<init>(M2HClient.java:40)
        at se.springworks.apiexample.androidexampleapp.ExampleActivity.onCreate(ExampleActivity.java:18)
        at android.app.Activity.performCreate(Activity.java:5426)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
        at android.app.ActivityThread.access$900(ActivityThread.java:161)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:157)
        at android.app.ActivityThread.main(ActivityThread.java:5356)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
        at dalvik.system.NativeStart.main(Native Method)

これが機能しない理由はわかりませんが、所有者からのすべての依存関係が何らかの理由で Android プロジェクトに含まれるわけではないというのがワイルド スタブです。

編集:これは実行時に失敗するため、これを実行時の依存関係として追加するために何か特別なことをする必要があるかどうか疑問に思っています。

4

2 に答える 2

2

java.beans.PropertyEditorManagerAndroidにはありません。このパッケージでサポートされている内容は、次の Android API Javadocs で確認できます。

http://developer.android.com/reference/java/beans/package-summary.html

于 2014-04-10T17:25:09.717 に答える