問題タブ [android-maven-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android - Maven Build - Proguard - 参照されたクラスが見つかりません
現在、既存の Android アプリケーション用に Maven ビルドをセットアップしようとしています。(以前はAntで構築されていました)プロガードの難読化を実行しているときに、次のような多くの警告が表示されます。
欠落している参照は、org.apache.httpパッケージからのものです。それらはandroid.jarに含めるべきだと思いました。私はandroid-maven-pluginバージョン3.2.0を使用しています。次の android 依存関係が pom.xml で定義されています。
maven-android-sdk-deployerを使用して Android 依存関係をインストールしました。
この種のエラーの正しい解決策は何ですか? 難読化なしでビルドは成功し、結果の APK は完全に正常に動作します。私はプロガード設定ファイルを変更していません。(antとの組み合わせで動作しました)
android - mavenを使用したapkビルドのClassNotFoundException
Android開発のビルドプロセスをMavenに切り替えたいと思います。http://www.sonatype.com/books/mvnref-book/reference/android-dev-sect-archetype.htmlに従ってpom.xmlを作成し、最新バージョンを使用するようにバージョンを少し調整しました。 android-maven-pluginの。
私のapkはIDE(IntellJ)内から手動で正常にビルドされますが、mavenでビルドされたapkには問題があります。明らかに、クラスをapkに入れない何かが欠けています。
両方の生成されたapkをチェック(解凍)すると、mavenで生成されたapkのclasses.dexが通常のもの(24.9kB)よりもはるかに小さい(2.6kB)ことがわかります。明らかに、そこにはクラスがありません。
したがって、このapkを開始すると、次のエラーが発生します。
これは私のpom.xmlであり、ここで使用します:mvn install -P sign
またはmvn android:apk
android - mvn android:deploy not working (despite success confirmation)
I'm using the android-maven-plugin 3.2.0 and run the following in order to install and start the apk on my device (Nexus One, Android 2.3.6), which is the only one connected via usb and visible to adb; no emulator running in parallel either.
以下は私のシェルの出力です。これはすべて問題ないように見えますが、次のようなメッセージも表示されます
/Users/myuser/Projects/MyCompany/com.mycompany.abc/target/com.mycompany.abc-1.0-SNAPSHOT.apk を HT9CPP805008_HTC_NexusOne に正常にインストールしました
しかし、それは真実ではありません。apk がデバイスにインストールされておらず、アプリケーションの下に見つかりません。現在、apk を実際にインストールできる唯一の方法は、正しく動作していないように見えるため、回避策を使用することです。android:deploy
(ただし、adb自体は正常に動作します。adbを介して手動で任意のコマンド(プッシュ、インストールなど)を実行でき、問題なくデバイスも検出されます。adb v1.0.29を搭載したMac OS X Lionを使用しています)
アップデート:
ここに私が行った興味深い発見があります:android:deploy/run
アプリが既にデバイスにインストールされていて、 maven を実行すると、最初に古い apk をアンデプロイしてから新しい apk を再デプロイすると、正常に動作します。これはうまくいきます!ただし、以前にデバイスにアプリをまったくインストールしていない場合、または maven を実行する前にアプリを手動で削除した場合、機能しません。<undeployBeforeDeploy>
fromの値をtrue
to に変更しfalse
ても、ここでも違いはありません。
以前にこの問題を経験した人はいますか?
pom.xml:
android - android-maven-plugin、インストルメンテーションテストおよびtestSize
私はAndroidアプリケーションの構築、実行、インストルメンテーションテストにMavenを使用しています。Androidテストフレームワークには3つの異なるテストスコープ@SmallTest、@ MediumTest、 @ LargeTestがあり、android-maven-pluginにはtestTestSizeまたはtest/testSizeパラメーターを介してテストスコープを選択する機能があります。このパラメーターは、関連するスコープの1つでsmall|medium|large
あり、関連するスコープからテストを実行できます。
しかし、小規模または中規模だけでなく、小規模および中規模のテストを同時に実行したい場合はどうすればよいですか?この問題の解決策はありますか?
android - Maven ビルド Android アプリケーション - BuildConfig
Android プロジェクトのビルドに Maven を使用しようとしているときに、ビルド時に maven-android-plugin が BuildConfig クラスを自動生成しないことに気付きました。その問題に関するチケットと Google グループのスレッドを見つけました。
問題: http://code.google.com/p/maven-android-plugin/issues/detail?id=275
問題スレッドの簡単なハックは、プロファイル スイッチを使用してビルド時に BuildConfig.DEBUG 変数を設定する別のマイクロ Maven プロジェクトを作成することを提案しています。これにより、小さなアプリケーションごとにマルチモジュール プロジェクトを構築する必要がありました。
Google グループ スレッドの提案 (SDK から Ant タスクを実行して BuildConfig クラスを生成する) は私には問題ないように思えますが、build.xml を掘り下げてこの作業を取得しようとした後、あきらめました。
誰かがmaven + androidのBuildConfigの問題に対する実用的な解決策を持っていますか?
android - Android Maven のコンパイル失敗
私は今、これに何時間も苦労しています... Maven Android libプロジェクトがあり、コンパイルに失敗し、次のデバッグ出力が表示されます:
クラスパス変数の 1 つが C:\Users\TacB0sS.m2\repository\com\google\android\android\3.2_r1\android-3.2_r1.jar であることに注意してください。
私はこれを2倍と3倍にチェックしました。これらのメソッドとクラスは上記のjarファイルにあると確信しています.Eclipseでは、標準のビルドパスで同じjarファイルを使用しており、問題なくコンパイルされます.また、参照するとオブジェクトが表示されます.とメソッドが含まれています。
私は何が欠けていますか?
アップデート:
効果的なポンのいくつか:
jenkins - jenkins-maven-android の実行時に「android-sdk-linux/platforms」はディレクトリではありません」というエラーがスローされる
jenkins-maven-android のセットアップを開始しましたが、jenkin ジョブの実行時に問題が発生しました
ゴール com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.1.1:generate-sources の実行 default-generate-sources に失敗しました: パス "/opt/android-sdk-linux/platforms" はありませんディレクトリ。構成パラメータとして適切な Android SDK ディレクトリ パスを指定してください
この問題を解決するのを手伝ってください..
私のマシンの詳細 $uname -a
Linux development2 3.0.0-12-virtual #20-Ubuntu SMP Fri Oct 7 18:19:02 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
~/.bashrc に ENV 変数を設定しました
Jenkins のスタック トレース:
android - android maven プラグイン使用時のフラグメントの問題
ここにmavenが統合されたプラグイン部分を備えたAndroidプロジェクトがあります
Fragmentを統合した直後に、mvnコマンドラインからのビルドが停止します。
確認しましたが、aapt 呼び出しで Android ライブラリが存在します... \android-sdk-windows\platforms\android-13\android.jar
を含むいくつかのエラーが表示されます
mvn clean install でのコンパイル エラーとして
サポート ライブラリの使用に切り替えることもできますが、android.app.Fragment. 私が行方不明になっているものを誰かが手がかりを持っていますか?
android - NoClassDefFoundError Androidアプリ、Maven、およびEclipseを使用したライブラリの開発
アーティファクトがMavenを介して管理されるAndroidライブラリ(SiriRestClient)を開発しており、開発にEclipseを使用しています。プロジェクトにアセットがなく、Javaクラスのみがあり、Eclipse / Maven / ADTでアーティファクトをapklibsとしてパッケージ化する際に問題があるため、アーティファクトをJARファイルとしてパッケージ化しています。
また、SiriRestClientライブラリに依存するAndroidユーザーインターフェイスアプリケーション(SiriRestClientUI )も開発しています。Mavenを介してSiriRestClientライブラリへの依存関係を管理しています。
Eclipseでは、プロジェクトのビルドとデプロイの両方が独立して正常に行われます。
問題:
Mavenを介してSiriRestClientライブラリへのSiriRestClientUI依存関係の管理を開始したので、ライブラリプロジェクトとSiriRestClientUIをEclipseで同時に開いているとNoClassDefFoundError
、SiriRestClientUIアプリをデバイスにデプロイしようとするとが発生します。
例えば:
これは、ライブラリとアプリの同時開発プロセスにおける大きな問題です。私が見つけた唯一の回避策は、ライブラリコードを編集し、ライブラリプロジェクトをビルドし、ライブラリプロジェクトを閉じてから、SiriRestClientUIアプリを実行することです。
この問題は、ライブラリプロジェクトが開いているときにEclipse/MavenがMavenの依存関係をどのように処理しているかに起因すると思います。
これは、ライブラリプロジェクト(その上のSiriRestClient)が閉じているときのSiriRestClientUIプロジェクトを示すEclipseのスクリーンショットです。
sirirestclient-1.0.0-SNAPSHOT.jar
「MavenDepedencies」の下にあるファイルは、私のローカルMavenリポジトリから取得されています。これは私が欲しいものです。この構成では、すべてが正常に機能します。
ただし、SiriRestClientライブラリプロジェクトを開くと、「Maven Depedencies」エントリが変更され、JARファイルが消え、代わりにプロジェクトのフォルダが表示されます。
両方のプロジェクトが開いているときにSiriRestClientUIを起動しようとすると、が表示されますNoClassDefFoundError
。したがって、Eclipseがプロジェクトビルドをリダイレクトしており、ライブラリクラスが含まれていないようです。
質問:
Mavenの依存関係をローカルプロジェクトに切り替えるのではなく、ローカルのMavenリポジトリ内のJARファイルに常に依存するようにEclipse / Mavenを構成するにはどうすればよいですか?
NoClassDefFoundError
または、この構成でを取り除く別の方法はありますか?
ライブラリプロジェクトのpom.xmlファイルはここにあります。
SiriRestClientUIアプリプロジェクトのpom.xmlファイルはこちらです。
android - POM Strategy 複数の Git リポジトリとライブラリ プロジェクト
Maven を使用するように Android プロジェクトを移植するという困難な作業を開始しました。pom ファイルと依存関係を整理する最善の方法に関する情報を見つけるのに苦労しています。リソースとネットワーク コードを含む同じ Android ライブラリ プロジェクトを使用する 2 つの Android アプリがあります。3 つのプロジェクトはすべて、git と github の別々のリポジトリでソース管理されています。Action Bar Sherlock、View Pager Indicator など、すべてのサードパーティ ライブラリの依存関係をライブラリ プロジェクトに配置し、ライブラリを使用してそれらをプロジェクトにエクスポートしました。
チームの他のメンバーが両方の Android アプリを依存関係でビルドできるように、できるだけ簡単にしたいと考えています。3 つのリポジトリすべてを同じディレクトリに複製し、pom が同じディレクトリを想定してライブラリに依存するようにするか、1 つの git リポジトリを git サブモジュールと pom モジュールを組み合わせた親 pom で使用する方がよいでしょうか? ただし、これが混乱しすぎるのではないかと心配しています。