5

誰かがこれを手伝ってくれるかどうか疑問に思っています。最も単純なプロジェクトをクリーニングおよびビルドすると、エラーが発生します。(下記参照)

エラーにつながる手順:

新入社員として、つまり 4 か月以内のマシンの新しいユーザーとして、NetBeans 8.2 を開くことから始めました。NetBeans と Android Studio (sdk 用) の両方が 1 週間前にインストールされていました。

ただし、Android プラグインはインストールされていなかったので、nbandroid アップデート センターを実装してプラグインをインストールしました。次に、users\user.user1\AppData\local\android フォルダーにある sdk を NetBeans に接続しました。

特定のプロジェクトの正しい Android バージョン (4.2.2) を実行するために、NetBeans で 4.2.2 を選択する前に、まず Android Studio/SDK Manager にバージョン 4 以降をインストールしました。

NetBeans でローカル バージョンを開く前に、Android プロジェクトを共有ファイル サーバーからローカル マシンにコピーしました。

クリーン & ビルドを実行すると、次のエラーが発生します (上記とは異なるフォルダー構造があることに注意してください。これは、可能な解決策を見つけるためにさまざまな構成をテストしたためです)。

Current build type is different than previous build: forced apkbuilder run.
Creating Test-debug-unaligned.apk and signing it with a debug key...
C:\AndroidSDK\tools\ant\build.xml:958: The following error occurred while executing this line:
C:\AndroidSDK\tools\ant\build.xml:969: The following error occurred while executing this line:
C:\AndroidSDK\tools\ant\build.xml:312: 
java.lang.InternalError: Could not obtain X500Principal access
                at sun.security.x509.X500Name.<clinit>(X500Name.java:1399)
                at com.android.sdklib.internal.build.SignedJarBuilder.writeSignatureBlock(SignedJarBuilder.java:384)
                at com.android.sdklib.internal.build.SignedJarBuilder.close(SignedJarBuilder.java:273)
                at com.android.sdklib.build.ApkBuilder.sealApk(ApkBuilder.java:795)
                at com.android.ant.ApkBuilderTask.execute(ApkBuilderTask.java:371)
                at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
                at sun.reflect.GeneratedMethodAccessor147.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
                at org.apache.tools.ant.Task.perform(Task.java:348)
                at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
                at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
                at sun.reflect.GeneratedMethodAccessor147.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
                at org.apache.tools.ant.Task.perform(Task.java:348)
                at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:396)
                at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
                at sun.reflect.GeneratedMethodAccessor147.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
                at org.apache.tools.ant.Task.perform(Task.java:348)
                at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
                at com.android.ant.IfElseTask.execute(IfElseTask.java:124)
                at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
                at sun.reflect.GeneratedMethodAccessor147.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
                at org.apache.tools.ant.Task.perform(Task.java:348)
                at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
                at com.android.ant.IfElseTask.execute(IfElseTask.java:124)
                at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
                at sun.reflect.GeneratedMethodAccessor147.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
                at org.apache.tools.ant.Task.perform(Task.java:348)
                at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
                at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
                at sun.reflect.GeneratedMethodAccessor147.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
                at org.apache.tools.ant.Task.perform(Task.java:348)
                at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:396)
                at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
                at sun.reflect.GeneratedMethodAccessor147.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
                at org.apache.tools.ant.Task.perform(Task.java:348)
                at org.apache.tools.ant.Target.execute(Target.java:435)
                at org.apache.tools.ant.Target.performTasks(Target.java:456)
                at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)
                at org.apache.tools.ant.Project.executeTarget(Project.java:1376)
                at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
                at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
                at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:286)
                at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:555)
                at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:153)
Caused by: java.security.PrivilegedActionException: java.lang.NoSuchMethodException: javax.security.auth.x500.X500Principal.<init>(sun.security.x509.X500Name)
                at java.security.AccessController.doPrivileged(Native Method)
                at sun.security.x509.X500Name.<clinit>(X500Name.java:1392)
                ... 63 more
Caused by: java.lang.NoSuchMethodException: javax.security.auth.x500.X500Principal.<init>(sun.security.x509.X500Name)
                at java.lang.Class.getConstructor0(Class.java:3082)
                at java.lang.Class.getDeclaredConstructor(Class.java:2178)
                at sun.security.x509.X500Name$1.run(X500Name.java:1384)
                at sun.security.x509.X500Name$1.run(X500Name.java:1380)

私の同僚は自分の PC でコンパイルに問題がなかったので、これは本当に奇妙です (私の最新の Java の代わりに NetBeans 8.1 と Jdk8u91 を除いて、ほとんど同じ PC です)。

相談済みのソリューション:

  • Android SDK、JDK、およびすべての関連アプリケーションの場所の変更、
  • ANT_HOME、JAVA_HOME、ANDROID_HOME などの環境変数の挿入、
  • すべてのプラグインと Android バージョンのインストール、

  • Jdkへの環境変数パスの挿入、

  • AndroidスタジオにAndroidの4.2.2バージョンのみをインストールし、

  • PC の管理者として、NetBeans、Android Studio、JDK、Android SDK のクリーン アンインストールと再インストールを完了し、

  • 同僚をユーザーにして、

  • 単純なスタートアップ プロジェクトのクリーニングと構築、

  • 同僚と同じ NetBeans 入力を設定し、

  • Google の奥深さを探った

アクセス許可をチェックアウトし、Java プリンシパルとツールを少し調べましたが、それで何をしているのか 100% わかりません。

他のことを試す前に、スタックを調べようと思いました。どんな助けでも大歓迎です。

4

2 に答える 2

1

プラグイン nbandroid は、NetBeans 8.1 nbandroid wiki用であると述べている wiki に基づいて、NetBeans 8.2 と互換性がありません。また、nbandroid プラグイン サイトで同じ問題についてバグが記録されています

新しいバージョンの NetBeans で動作するようにプラグインを更新したら、これは解決されると思います。

于 2016-11-25T16:09:27.717 に答える
0

コメントで @RandykaYudhistira に同意し、8.1 にダウングレードする解決策が取られ、これにより問題が完全に解決され、新しいローカル アプリケーションをクリーンアップしてビルドできるようになりました。

成功。

ただし、これは NetBeans 8.2 の問題を解決しません。この問題の解決策があるかどうか、および私のようなセットアップや他のセットアップでこの問題が発生している理由を調べることは興味深いでしょう。

他の解決策は大歓迎です-私がここに持っているように「回避策」ではなく解決することです。

于 2016-10-28T16:24:34.510 に答える