アンドロイドの小さなインターフェースで作業していて、 "xxxアプリケーションが予期せず停止しました"が表示されます。私は間違いのあるエラーを探していますが、何も見つかりません。Rクラスパッケージを変更するandroid/eclipse
とにかくリファクタリング - >名前を変更すると、古いパッケージの別のものが生成されます。たとえそのパッケージを削除しても、Eclipseは再びそれを生成しますが、取り除くことはできません。それ!
アンドロイドの小さなインターフェースで作業していて、 "xxxアプリケーションが予期せず停止しました"が表示されます。私は間違いのあるエラーを探していますが、何も見つかりません。Rクラスパッケージを変更するandroid/eclipse
とにかくリファクタリング - >名前を変更すると、古いパッケージの別のものが生成されます。たとえそのパッケージを削除しても、Eclipseは再びそれを生成しますが、取り除くことはできません。それ!
それはAAPTツールのコマンドラインをカスタマイズすることで可能かもしれないAndroidManifest.xml
に<manifest>
タグのpackage
プロパティを変更し、生成されたR
クラスのパッケージ名を変更します。 aaptは、Rクラスが生成されるパッケージを指定する--custom-packageオプションをサポートしています。自分のアプリケーションを構築する際、私はR.javaのパッケージ名を変更することができるように、私はAntスクリプトをカスタマイズした
<exec executable="aapt" failonerror="true">
<arg value="package" />
<arg value="-m" />
<arg value="-J" />
<arg path="${gen.absolute.dir}" />
<arg value="-M" />
<arg path="AndroidManifest.xml" />
<arg value="-I" />
<arg path="${android.jar}" />
<arg value="-A" />
<arg path="${asset.absolute.dir}" />
<arg value="-S" />
<arg path="${resource.absolute.dir}" />
<arg value="--custom-package" />
<arg value="my.custom.package" />
</exec>
このヒントをいただきありがとうございます。デイヴィッド、私はいくつかのプロジェクトブランチに対処することが非常に役に立つと思います。あなたは少し答えを完了できますか?私はそのXMLコードをどこに置く必要があるのですか? –
私のコメントは最近のAndroid SDKには適用されません。これは、Androidツールでaapt ANTタスクが導入され、Android ANTスクリプトで使用されているためです。 私の側では、
プラス私の質問への答えを見つけるのを助けるために。私はどこのアプリで消えているRのクラスについての困惑だった。それらを別のパッケージで見つけました。 Thanks – Arunkumar
:ANTを使用して
が、これはこの方法を達成することができます。私がしたのは、-code-genターゲットをオーバーライドして、-code-genがaaptを実行しているときにprojectLibrariesPackageName属性を変更することです。
<!-- Code Generation: compile resources (aapt -> R.java), aidl, renderscript -->
<target name="-code-gen">
<do-only-if-manifest-hasCode
elseText="hasCode = false. Skipping aidl/renderscript/R.java">
<echo>...........</echo>
<echo>Handling aidl files...</echo>
<aidl executable="${aidl}" framework="${android.aidl}"
genFolder="${gen.absolute.dir}">
<source path="${source.absolute.dir}"/>
</aidl>
<!-- renderscript generates resources so it must be called before aapt -->
<echo>...........</echo>
<echo>Handling RenderScript files...</echo>
<renderscript executable="${renderscript}"
framework="${android.rs}"
genFolder="${gen.absolute.dir}"
resFolder="${resource.absolute.dir}/raw"
targetApi="${target.api}">
<source path="${source.absolute.dir}"/>
</renderscript>
<echo>...........</echo>
<echo>Handling Resources...</echo>
<aapt executable="${aapt}"
command="package"
verbose="${verbose}"
manifest="AndroidManifest.xml"
androidjar="${android.jar}"
rfolder="${gen.absolute.dir}"
nonConstantId="${android.library}"
projectLibrariesResName="project.libraries.res"
projectLibrariesPackageName="package.internal"> <!-- Put custom package name here -->
<res path="${resource.absolute.dir}" />
</aapt>
</do-only-if-manifest-hasCode>
</target>
は、JavaパースペクティブからECLIPS(右上にあなたの視点を変更します(一つの代替は、私はそれが/tools/ant/build.xmlで見つけることができると思い、使用している日食ビルドのbuild.xmlを変更することです)コーナー)からDDMSパースペクティブへそこにあなたのAndroidビルドでエラーを表示するLogCatを見つけるでしょう。
私たちがお手伝いできるように、それをチェックし、エラーを投稿してください。
ありがとう、たくさんの男! – Flanagan1