2012-11-22 9 views
9

私たちのAndroidプロジェクトは、私たちが制御できないいくつかの外部プロジェクトに依存しています。したがって、カスタムのlint.xmlファイルを設定しようとしているので、無視するルールを追加することができます。シナリオを開始するとして、私はActionBarSherlockから警告を削除しようとした(悪気ジェイク)カスタムlint.xmlを書く

lint app --disable FloatMath,DefaultLocale,ViewConstructor --xml lint-result.xml 

で次のコマンドを使用して

<?xml version="1.0" encoding="UTF-8"?> 
<lint> 
    <issue id="FloatMath"> 
    <ignore path="app/target/classes/com/actionbarsherlock/*" /> 
    </issue> 
    <issue id="DefaultLocale"> 
    <ignore path="app/target/classes/com/actionbarsherlock/*" /> 
    </issue> 
    <issue id="ViewConstructor"> 
    <ignore path="app/target/classes/com/actionbarsherlock/*" /> 
    </issue> 
</lint> 

しかし生成されるレポートには、まだABSからのメッセージが含まれていません。

更新 私はジェンキンスさんはまだそれはありません関係なく、コマンドラインで実行があれば、中に無視されているものと同じレポートを生成しないためにどんな変化がありません

lint --disable FloatMath,DefaultLocale,ViewConstructor --xml lint-result.xml app 

にコマンドを変更記載されているすべての問題を無視します無効にした後私は単純な方法で、Mavenのようなものを無視したり除外したりしたいと思っています...

+0

私は私のプロジェクトのルートにあなたの答えの 'lint.xml'を置きます。しかし、変更はありません。 Lintを実行するために 'mvn android:lint'を使用していますか、ビルドプロセス内でLintを実行するように' maven-compiler-plugin'を設定しましたか?(http://blog.octo.com/en/add- lint-checks-to-android-maven-builds /)?設定を追加してください。 – JJD

+0

私はJintkinsのシェルからlintをlint --config lint.xml - xml lint-result.xmlとして呼び出しています。ローカルで実行する場合は 'lint --config lint.xml'を実行してください。あなたが直接アンドロイドリントツールを実行するこの方法。私はアンドロイドメイヴンプラグインで試してみませんでしたが、除外リントファイルを追加するための設定が必要です。 –

答えて

8

もう一度私自身の質問に答えてください... lint.xmlはこのようになり、これは、この場合のABSのように除外さAPKLIBのすべてのレポートを削除しないことに注意してください:私たちが今使っ

シェル実行コマンドが

lint --config lint.xml --xml lint-results.xml .; 

PSである

<?xml version="1.0" encoding="UTF-8"?> 
<lint> 
    <issue id="NewApi"> 
    <ignore path="target/classes/com/actionbarsherlock/internal/ActionBarSherlockNative.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/ActionBarSherlockNative$ActionModeWrapper.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/app/ActionBarWrapper.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/app/ActionBarWrapper$TabWrapper.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/view/ActionProviderWrapper.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/view/menu/ActionMenuItemView.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/view/menu/MenuItemWrapper.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/view/menu/ActionMenuPresenter$HasPermanentMenuKey.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/IcsAdapterView.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/IcsProgressBar.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/ActionBarView$HomeView.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/widget/SearchView.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/nineoldandroids/widget/NineFrameLayout.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/nineoldandroids/widget/NineHorizontalScrollView.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/nineoldandroids/widget/NineLinearLayout.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/nineoldandroids/view/NineViewGroup.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/view/menu/BaseMenuPresenter.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/AbsActionBarView.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/ActionBarContextView.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/ActionBarView.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/CapitalizingButton.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/CapitalizingTextView.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/IcsAbsSpinner.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/IcsLinearLayout.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/IcsListPopupWindow.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/ScrollingTabContainerView.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/widget/ActivityChooserView$SetActivated.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/app/SherlockActivity.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/app/SherlockExpandableListActivity.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/app/SherlockListActivity.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/app/SherlockPreferenceActivity.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/ActionBarSherlockNative$ActionModeCallbackWrapper.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/app/ActionBarImpl$1.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/app/ActionBarImpl.class" /> 
    </issue> 

    <issue id="FloatMath"> 
    <ignore path="target/classes/com/actionbarsherlock/internal/nineoldandroids/view/animation/AnimatorProxy.class" /> 
    </issue> 

    <issue id="DefaultLocale"> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/CapitalizingTextView.class" /> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/CapitalizingButton.class" /> 
    </issue> 

    <issue id="ViewConstructor"> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/CollapsibleActionViewWrapper.class" /> 
    </issue> 

    <issue id="WrongCall"> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/IcsAdapterView.class" /> 
    </issue> 
</lint> 

ASB 4.2.0にActionBarSherlockレポートこれまでのところ、レポートを除外する方法はありませんR.classの未使用リソース。リンクされたライブラリのR.classをコンパイルするとプロジェクトがマージされ、Lintはこれを知る方法がありません。それは使用されていないいくつかの参照を持つ単一のR.classのみを表示し、それらを報告します。

+0

素晴らしいですが、不完全です。 Lintはクラスを除外するメカニズムを持っているはずです... – Snicolas

+0

Snicolasプロジェクト "アドオン"ライブラリのすべてのクラスをリストするのはちょうど狂気の家であるため、Googleはもっと磨く必要があります。第二に、私が言ったようにライブラリ –

1

私はlint.xmlファイルを完成させ、より多くのアクションバーブロックエラーを除外しました。しかし、除外パッケージの仕組みを持っていると良いでしょう。

<?xml version="1.0" encoding="UTF-8"?> 
<lint> 
    <issue id="NewApi"> 
    <ignore path="target/classes/com/actionbarsherlock/internal/ActionBarSherlockNative.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/ActionBarSherlockNative$ActionModeWrapper.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/app/ActionBarWrapper.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/app/ActionBarWrapper$TabWrapper.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/view/ActionProviderWrapper.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/view/menu/ActionMenuItemView.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/view/menu/MenuItemWrapper.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/view/menu/ActionMenuPresenter$HasPermanentMenuKey.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/IcsAdapterView.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/IcsProgressBar.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/ActionBarView$HomeView.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/widget/SearchView.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/AbsActionBarView.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/ActionBarContextView.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/app/ActionBarImpl$1.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/app/ActionBarImpl.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/ActionBarSherlockNative$ActionModeCallbackWrapper.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/ActionBarView.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/widget/ActivityChooserView$SetActivated.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/view/menu/BaseMenuPresenter.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/CapitalizingButton.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/CapitalizingTextView.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/IcsAbsSpinner.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/IcsLinearLayout.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/IcsListPopupWindow.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/nineoldandroids/widget/NineHorizontalScrollView.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/nineoldandroids/widget/NineLinearLayout.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/nineoldandroids/view/NineViewGroup.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/ScrollingTabContainerView.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/app/SherlockActivity.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/app/SherlockExpandableListActivity.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/app/SherlockListActivity.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/app/SherlockPreferenceActivity.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/nineoldandroids/widget/NineFrameLayout.class"/> 
    <ignore path="target/classes/com/viewpagerindicator/IcsLinearLayout.class"/> 
</issue> 

<issue id="FloatMath"> 
    <ignore path="target/classes/com/actionbarsherlock/internal/nineoldandroids/view/animation/AnimatorProxy.class"/> 
</issue> 

<issue id="DefaultLocale"> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/CapitalizingTextView.class"/> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/CapitalizingButton.class"/> 
</issue> 

<issue id="ViewConstructor"> 
    <ignore path="target/classes/com/actionbarsherlock/internal/widget/CollapsibleActionViewWrapper.class"/> 
</issue> 
</lint> 
+0

によって引き継がれた未使用のリソースのR.class報告の問題を解決しません、これはクラスの世話だけです。 lint結果レポートをチェックすると、Rクラスにリンクされている未使用のリソースがたくさんあることがわかります –

9

は、今ではそうすることが可能です:

<?xml version="1.0" encoding="UTF-8"?> 
<lint> 
    <issue id="all"> 
     <ignore regexp="target/classes/com/actionbarsherlock/.*[.]class" /> 
    </issue> 
</lint> 
関連する問題