問題タブ [android-build]
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 ライブラリのカスタム属性とパッケージ名の再マッピングを解決するにはどうすればよいですか?
時が経つにつれて、Android プロジェクトは大幅に拡大し、最近では同じソース ツリーから複数のブランドの APK を作成しています。これは、Android のパッケージ命名要件により困難になっています。
すべての共有コードは、メイン アプリケーション プロジェクトに含まれる Android ライブラリ プロジェクトにあります。さらに、各ブランドに適用されるブランド リソース用の Android ライブラリ「オーバーレイ」があります。ブランドを構築したい場合、そのブランド用のいくつかの追加プロパティを含めます。これにより、メインの共有コード Android ライブラリの前に「オーバーレイ」Android ライブラリが含まれることになります。説明する:
「BrandALibrary または BrandBLibrary」は、コマンドライン スイッチを使用してビルド時に .properties ファイルを含めることにより、ビルド時に切り替えられます。そこにはあまりにも派手なものはありません。また、ビルド スクリプトはビルド時に .APK のパッケージ名を変更して、2 つの .APK ファイルが特定のデバイスで同時に共存できるようにする必要があります (ほとんどの場合、QA の目的で、顧客が両方を同時に持つことは想定されていないためです)。同時に...可能ですが)。
今日、共有コード ライブラリ プロジェクトにクラスを追加した後、ビルドが壊れるまで、すべてがうまく機能していました。これが発生している理由を調べていると、次の Web ページに出くわしました。この Web ページでは、同じ問題に遭遇し、aapt のバージョンを修正してこれを機能させていました。
ビルド中に、次のエラーがログに表示されます。
私のカスタム属性は素晴らしいものではありません.state_addとstate_listを定義しました。これを使用して、表示する必要がある状態を示すアイコン付きのボタンを表示するコントロールのデフォルト状態を設定できます. これはある意味で「トグル」ボタンのようなもので、このコントロールをトグル ボタンに置き換えることになるかもしれません。
このボタンを作成したときは、このチュートリアルに従いました。
私の質問は、最後に (この男は長々と話していますよね?)、aapt がカスタム属性で使用されるパッケージ名を確実に「再マップ」する方法はありますか? さらにカスタム コントロールをライブラリに書きたい場合でも、次のことを実行できるようにするために appt が必要です。
- カスタム名前空間がライブラリ プロジェクトで定義されている場合は、その名前空間をビルド中の Android アプリケーションの名前空間に再マップします。
Ant ビルド中にカスタム属性がマップされる方法で、何か基本的なことが抜けていますか? ビルドの問題を修正するためにできる簡単なことはありますか?
android - 「Dalvik 形式への変換がエラー 1 で失敗しました」 -- エクスポート時のみ
これは繰り返しの質問であることは知っていますが、このサイトのすべての解決策を読んで試しましたが、まだエラーが発生しています。また、署名済みの apk を Eclipse からエクスポートした場合にのみ取得します。署名されていない apk をビルドして実行できます。
私は持っている:
- ビルド パスからすべてのライブラリを削除 (および後で復元)
- すべてのプロジェクトをクリーンアップして再構築しました
- -clean オプションを指定して Eclipse を再起動しました
- アプリ プロジェクトを最初から再作成する
エラー1はシンボルが重複していることを意味しますが、ビルドパスを100万回チェック、クリーンアップ、再構築しましたが、エクスポートした場合にのみエラーが発生します。
- シンボルが重複していると、署名されていない apk に対してもエラー 1 が発生しませんか?
- 本当に重複したシンボルがある場合、どうすれば Eclipse にそれらが何であるかを教えてもらうことができますか? エクスポート ウィザードから得られるのは、1 行のエラー ダイアログだけです。:(
- APK に手動で署名するとエラーは発生しませんが、電話にインストールすると、「アプリケーションがインストールされていません」という単純なエラーが発生します。:(:(
私のプロジェクト構造は次のとおりです。
- 私のコードの 99% を含む 1 つの Android ライブラリ プロジェクト。ビルド パスに必要な jar ファイルのコピーが 1 つあります。
- 2 つのクラスを持つ 1 つの Android アプリ プロジェクト。Javaビルドパスではなく、Androidタブを介してライブラリプロジェクトを参照します。Android 2.1 を除いて、ビルド パスで参照される追加のソース、プロジェクト、またはライブラリはありません。このプロジェクトを最初から再作成しました (ライブラリ プロジェクトは、はるかに大きいため、再作成しませんでした)。
すべてが数日前に機能していました!どんな提案でも大歓迎です!
前もって感謝します...
編集-更新: Proguard を無効にすると、エラーはなくなります。非常に奇妙な。
android - Android AOSP Gingerbread を Motorola Droid にビルドしようとしています
ソースにパッチを適用するためにこのチュートリアルを使用して Droid 用の AOSP Gingerbread をビルドしようとしていますが、次のエラーが発生します。
私は何を間違っていますか?私は何をすべきか?
android - Androidバージョンを構築する方法は?
私は自分の電話をアップグレードしました、そして今私の古いものを壊し始めたいです。
私は行ってAndroidソースをプルし、同期しました。すべてがうねりました。次は実行することでした:
これはうまくいったと思います。何も表示されなかったので、エラーは発生しなかったと思います。今、私は「昼食」で立ち往生しています。ここで何をしなければなりませんか?ドキュメントは言う
昼食で構築するターゲットを選択します。正確な構成は引数として渡すことができます。例:
実行することによって
私はこれをしました、しかしそれは私にfull-eng
存在しないと言います。だから私はちょうど試してみましlunch
た
これを構築するにはどうすればよいですか?適切なリソースをダウンロードできませんでしたか?
android - ant を使用してライブラリを使用して Android アプリケーションをビルドする
私は 2 つのプロジェクト (ソース コード) を持っています。プロジェクトAはコンパイルされていないライブラリで、プロジェクトBはそのライブラリを使用しています。私はそれをantを使ってコンパイルしたい。私はアンドロイドアップデートを使ってそのようにセットアップしています。
android update lib-project --target 2 --path c:\Android-Build\A
Android 更新プロジェクト --target 2 --path c:\Android-Build\B --library ..\A
プロジェクトBのlibsフォルダーには何もありません。私が使用しているすべてのライブラリは、ライブラリ (A) にあります。Eclipseを使用すると、すべて正常に表示されます。
antを使用してコンパイルするにはどうすればよいですか。
ant デバッグ スロー エラー。ライブラリ (A) が最初にコンパイルされます ( bin および gen フォルダーが生成されます)。
しかし、コンパイルされるプロジェクト B になると、ライブラリからのインポートが見つかりません。ビルドプロセス中にプロジェクトBにライブラリを含めるようにantに指示するにはどうすればよいですか? タイ。
[javac] C:\Android-Build\B Activity.java:7: エラー: シンボルが見つかりません [javac] import com.aA;
*更新**
project.properties
プロジェクト B の場合。
project.properties
プロジェクト A の場合。
\\ に変更するとライブラリが見つからないため、 \\ は正しいようです
android - Android:ターミナルから.apkをビルドする方法は?
動的アプリジェネレーターを開発しているので、サーバー上でJavaを使用して実行時にコマンドを実行する必要があります
android - ubuntu 11.10でのAndroidビルドエラー
ubuntu 11.10でAndroid 2.3をビルドしようとすると問題に直面しています
最初のエラー -
Frameworks/base/libs/utils/RefBase.cpp:483:67: エラー: 'const android::RefBase::weakref_impl' を 'this' 引数として 'void android::RefBase::weakref_impl::trackMe(bool, bool)' は修飾子を破棄します [-fpermissive]
make: * [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/RefBase.o] エラー 1
make: *未完成のジョブを待っています....
私はこれを修正することで解決しました、
Frameworks/base/libs/utils/Android.mk LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -fpermissive
しかし、上記の変更を行った後、新しいエラーが発生しました。
ホスト共有ライブラリ: libneo_cgi (out/host/linux-x86/obj/lib/libneo_cgi.so)
ホスト C++: libutils <= Frameworks/base/libs/utils/Asset.cpp
ホスト C++: libutils <= Frameworks/base/libs/utils/AssetDir.cpp
ホスト C++: libutils <= Frameworks/base/libs/utils/AssetManager.cpp
g++: エラー: 認識できないオプション '--fpermissive'</p>
make: * [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/Asset.o] エラー 1 make: *未完了のジョブを待っています....
g++: エラー: 認識されないオプション '--fpermissive' g++: エラー: 認識されないオプション '--fpermissive'</p>
make: * [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/AssetDir.o] エラー 1
make: * [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/AssetManager.o]
ビルド構成: Ubuntu 11.10 gcc バージョン 4.4 と 4.6 の両方で試しましたが、何もうまくいきません。
ビルドに使用されるコマンドオプション、
$. ビルド/envsetup.sh
$ランチ 1
$make -j4
GCC - バージョン
gcc -v 組み込み仕様の使用。COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.6.1/lto-wrapper ターゲット: i686-linux-gnu 構成: ../src/configure -v --with-pkgversion=' Ubuntu/Linaro 4.6.1-9ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ ,go --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included -gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.
-------------------------------------------------- -------------- 編集 2-
より良いペースで動いているのではなく、gccバージョンに問題があると思いますが、今、このエラーが発生しています-cmd-make CC=gcc-4.4 CXX=g++-4.4
エラー -host SharedLib: libneo_cgi (out/host/linux-x86/obj/lib/libneo_cgi.so)
/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/lib/libneo_cgi.so] Error 1
android - ビルド済みの共有ライブラリをAPK内にパッケージ化する方法
この質問はよく聞かれているようですが、全員がEclipseを使用してAPK内にライブラリをパッケージ化しようとしていました。ただし、私の要件は、Androidビルドシステムを使用してAPK内にライブラリをパッケージ化することです(後でJavaを介してSystem.loadLibrary()を使用してロードされます)。つまり、このジョブを実行するAndroid.mkファイルを作成します。
要件:1。ビルド済みの共有ライブラリ:libTest.so2.apk内のlibs/armeabi-7にこれをパッケージ化するAndroid.mkファイルを記述します。
使用しているビルドシステムについてはよくわかりませんが、必要な環境変数をエクスポートした後、「mm」コマンドを使用してコンパイルを実行します。
LOCAL_JNI_SHARED_LIBRARIESにlibTestを提供すると、エクスポートされたパス内でそれを見つけようとしますが、そこで見つけられないため、ビルドが失敗します。
誰かが私のプレビルド共有ライブラリをAPKにパッケージ化するAndroid.mkファイルを書くためのポインタを教えてもらえますか?
android - ant を使用して classes.dex を作成中にエラーが発生しました
私は単にAndroidプロジェクトを作成しました
必要なファイルはすべて作成されますが、ビルドしようとすると
コマンド次のエラーが表示されます
ファイルを編集しておらbuild.xml
ず、メイン ルールbuild.xml
ファイルは にありC:\Program Files\Eclipse-sdk\android-sdk\tools\ant\build.xml
ます。主なルールはbuild.xmlです
このエラーを修正するにはどうすればよいですか
android - Android オープンソース プロジェクトのビルド システムは例外と RTTI をサポートしていますか?
Android ビルド システムを使用して、ソースから Android をビルドしています。例外をスローする C++ コードがいくつかありますが、ビルドされません。
次のエラーが表示されます。
他のエンジニアから、Android OS ツールチェーンは例外をサポートしていないと言われました。誰でもこれを確認できますか?
NDK ツールチェーンについて質問しているわけではないことに注意してください。