こんにちは、私はAndroidプログラミングに完全に慣れていないので、私が尋ねている質問は非常に単純なものかもしれませんが、それを機能させる方法についてはまったく知りません。
Android developer site からAndroid-sdkおよび関連ツールをインストールしました。私は彼らの指示に従ってHelloWorldアプリを作成しましたが、理解できないエラーがいくつか発生しています。
ファイルMainActivity.Javaは自動生成されたファイルであり、このファイルで次の場所でエラーが発生し続けます。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); // error in activity_main
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu); // error in activity_main
return true;
}
だから私は行ってlayout.classの生成されたクラスファイルを調べてみましたが、そこにはactivity_mainと呼ばれる変数がないことがわかりました。
誰も親切にここで何をすべきか提案できますか?どんな助けも深く感謝します。
ディレクトリ構造は、AndroidManifest.xmlがあることを示しています。
アプリを実行しようとすると、次の特定のエラーが表示されます。
AndroidManifest.xml file missing!
Unknown Android Packaging Problem
これらは、それを実行しようとしたときに私が得ているエラーの一部です:
10-10 23:31:11.305: E/Trace(946): error opening trace file: No such file or directory (2)
10-10 23:31:11.955: E/AndroidRuntime(946): FATAL EXCEPTION: main
10-10 23:31:11.955: E/AndroidRuntime(946): Android.content.res.Resources$NotFoundException: Resource ID #0x2
10-10 23:31:11.955: E/AndroidRuntime(946): at Android.content.res.Resources.getValue(Resources.Java:1013)
10-10 23:31:11.955: E/AndroidRuntime(946): at Android.content.res.Resources.loadXmlResourceParser(Resources.Java:2098)
10-10 23:31:11.955: E/AndroidRuntime(946): at Android.content.res.Resources.getLayout(Resources.Java:852)
10-10 23:31:11.955: E/AndroidRuntime(946): at Android.view.MenuInflater.inflate(MenuInflater.Java:107)
10-10 23:31:11.955: E/AndroidRuntime(946): at com.example.myfirstapp.MainActivity.onCreateOptionsMenu(MainActivity.Java:18)
10-10 23:31:11.955: E/AndroidRuntime(946): at Android.app.Activity.onCreatePanelMenu(Activity.Java:2476)
10-10 23:31:11.955: E/AndroidRuntime(946): at com.Android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.Java:393)
10-10 23:31:11.955: E/AndroidRuntime(946): at com.Android.internal.policy.impl.PhoneWindow.invalidatePanelMenu(PhoneWindow.Java:747)
10-10 23:31:11.955: E/AndroidRuntime(946): at com.Android.internal.policy.impl.PhoneWindow$1.run(PhoneWindow.Java:2913)
10-10 23:31:11.955: E/AndroidRuntime(946): at Android.os.Handler.handleCallback(Handler.Java:615)
10-10 23:31:11.955: E/AndroidRuntime(946): at Android.os.Handler.dispatchMessage(Handler.Java:92)
10-10 23:31:11.955: E/AndroidRuntime(946): at Android.os.Looper.loop(Looper.Java:137)
10-10 23:31:11.955: E/AndroidRuntime(946): at Android.app.ActivityThread.main(ActivityThread.Java:4745)
10-10 23:31:11.955: E/AndroidRuntime(946): at Java.lang.reflect.Method.invokeNative(Native Method)
10-10 23:31:11.955: E/AndroidRuntime(946): at Java.lang.reflect.Method.invoke(Method.Java:511)
10-10 23:31:11.955: E/AndroidRuntime(946): at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:786)
10-10 23:31:11.955: E/AndroidRuntime(946): at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:553)
10-10 23:31:11.955: E/AndroidRuntime(946): at dalvik.system.NativeStart.main(Native Method)
プロジェクトをビルドするか、後述の「クレイトン」のようにクリーンアップします。
プロジェクト>すべてビルド
プロジェクト>クリーン
これは、genフォルダにR.Javaファイルがないためだと思います。プロジェクトをビルドすると、gen
フォルダーにR.Java
ファイルが生成され、エラーはなくなります。
これは、次のコードを使用してレイアウトファイルを参照しているために発生します
setContentView(R.layout.activity_main);
R.layout.activity_main
への参照は、プロジェクトをビルドして生成する必要があるR.Java
ファイルで宣言されています。
プロジェクト->クリーンは私のために働いた
-まず、EclipseがAndroidと正しく同期されていることを確認してください。
-システムにtools
およびplatform-tools
フォルダーパスを追加しましたか環境パス。
-Androidプロジェクトを作成していることを望みます。EclipseのProject Explorerには、AndroidおよびA
のJava用のJ
記号があります。
私のために働いたもの:
最終的に私は自動的にビルドをチェックバックしました。
「Build Automatically」の意味がわかりません。GooglePlayゲームをエクスポートするとき(特にAndEngineなどの外部ライブラリを使用するとき)に問題が発生します。
それを修正するには、同様のことをして問題を修正します(チェックを外し、きれいにし、手動でビルドします)
これはビルドの問題です。
Eclipseのメニューに移動し、[プロジェクト]> [クリーン]、[プロジェクト]> [すべてビルド]
クリーン命令は、すべてのビルド構成を削除し、すべてのビルドの問題を修正します。
同様の問題がありました。しかし、これはEclipseのクラッシュが原因でした。その後、AndroidManifest.xmlの2つのスワップファイルと同じエラー: "AndroidManifest.xml file missing!"でした。
そこで、スワップファイル(.swo、.swp)を削除しました
:-)