問題タブ [aapt]
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 apkをビルドするときに引数をaaptに渡す方法は?
Linuxでantを使用してapkを構築しています(Eclipseを使用していません)。巨大なデータベースを2.3未満に非圧縮に保つために、アセットの圧縮と圧縮を切り替える簡単な方法を見つけようとしています。この記事によると:
http://ponystyle.com/blog/2010/03/26/dealing-with-asset-compression-in-android-apps/
のようなものを指定することでこれを行うことがaapt -0 db
できるようですが、antがaaptと対話する方法を編集する方法に関する情報が見つかりません。または、aaptを単独で実行する必要がありますか?私は何をしますか?
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 - Androidリソースの数にはどのような制限がありますか?
私たちのアプリの1つには、現在アセットとしてパッケージ化している数千の小さなデータファイルがあります。それらを生のリソースとしてパッケージ化できれば、コードに役立ちます。アプリが各タイプで持つことができるリソースの数の制限を追跡しようとしましたが、これに関するドキュメントは見つかりませんでした。Androidリソースの数の制限を知っている人はいますか?
android - Eclipse は Android プロジェクトをビルドできません
常にそのエラーが発生します:
PS: ADT 15
android - PackageManager と AndroidManifest.xml が異なる使用許可を報告する
Android パーミッションの調査を行っていたところ、AndroidManifest.xml ファイルによると、パーミッションとしてのみ宣言されているアプリケーションに遭遇しWRITE_EXTERNAL_STORAGE
ました。Android マーケットもこれを報告するだけです。aapt ツールを使用して uses-permission をダンプすると、1 つの権限のみが報告されます。
ただし、Android デバイス (またはエミュレーター) で実行されるコードでは、次のようにします。
この APK に対する 2 つのアクセス許可READ_PHONE_STATE
と、マニフェスト内のアクセス許可を取得しWRITE_EXTERNAL_STORAGE
ます。「アプリの管理」画面を見て、これの詳細を選択すると、追加のREAD_PHONE_STATE
権限も表示されます。
Android マニフェストで必要とされないアクセス許可が (コード内、機能の使用などによって) 「暗示」される可能性がある場合はありますか? aapt
別の言い方をすれば、APIが 1 つのアクセス許可セットを返し、 API が別のセットを返すのはなぜgetPackageManager().getPackageInfo()
でしょうか?
編集:
「より良い」用語で検索すると、探していた答えが見つかりました: Android のアクセス許可: 電話: 電話の状態と ID を読み取る
要するに、以前のバージョンの SDK でコンパイルされた APK は、一部の権限を無料で継承していました...
android - aapt が絶対パスで動作しない
私は一種の奇妙な問題を抱えています。私の bash スクリプトまたは Makefile では、絶対パスで aapt を使用しても機能しませんが、ローカル ディレクトリにいる場合は機能します。
次のようにすると、うまくいきません。
コマンドが実行され、次の出力が出力されます。
しかし、jar をロードしようとすると、ロードしようとしているクラスが見つからなくなります。
ただし、以下は機能します。
印刷:
これは、スクリプトで実行されているコード全体です (動作します)。
aapt で絶対パスを使用すると、なぜクラスが見つからないのか混乱しています。
なぜ機能しないのか、適切な絶対パスを使用するように修正する方法を教えてください。
ありがとうございました。
java - ライブラリ プロジェクトとして ActionbarSherlock を含む Ant を使用したプロジェクトのビルド
プロジェクト ライブラリとして ActionbarSherlock を含む Apache の Ant を使用してプロジェクトをビルドする際に問題が発生しています。「android update lib-project --path . --target android-13」を actionbarsherlock ライブラリ フォルダーに使用してライブラリを正常に含め、プロジェクトで「android update project --path . --target android-13 --library」を使用しました。 path/to/actionbarsherlock/library"
Ant デバッグを使用するとライブラリが正しくビルドされますが、プロジェクト フォルダーに移動してプロジェクトをビルドしようとすると、次のエラーが発生します。
[aapt] /var/www/vhosts/nicom/httpdocs/cl_app/res/values/style.xml:40: エラー: アイテムの親を取得中にエラーが発生しました: 指定された名前 'Theme.Sherlock.Light' に一致するリソースが見つかりません。[aapt] /var/www/vhosts/nicom/httpdocs/cl_app/res/values/style.xml:41: エラー: エラー: 指定された名前に一致するリソースが見つかりません: attr 'abBackground'. [aapt] /var/www/vhosts/nicom/httpdocs/cl_app/res/values/style.xml:42: エラー: エラー: 指定された名前に一致するリソースが見つかりません: attr 'abLogo'. [aapt] /var/www/vhosts/nicom/httpdocs/cl_app/res/values/style.xml:43: エラー: エラー: 指定された名前に一致するリソースが見つかりません: attr 'actionBarSize'.
このライブラリを使用してプロジェクトを正常に構築した人はいますか? これはライブラリ固有のエラーであり、一般的に私のプロジェクトとは何の関係もないと思いますが、間違っている場合は修正してください。
android - 解析されていない aapt エラーです!
私は Eclipse で Android を使用しており、新しいプロジェクトを開始するときに Android が作成するスケルトン プロジェクトに見つけたテンプレート プロジェクトのコードを結合しようとしていました。これは初期設定ではありません。いくつかのプロジェクトを実行しており、Android コーディングは初めてですが、この問題なしで数週間作業しているので、環境はうまくセットアップされていると思います。
私が見ているエラーは -
ある時点でコンソール メッセージをクリアしましたが、プロジェクトと Eclipse を閉じた後でも、再度開いてもコンソール メッセージが表示されず、ソース ファイルやリソース ファイルにもフラグが立てられません。
aapt とは何ですか? このエラーの原因はどこで探せばよいですか? よろしくお願いします。
android - Eclipse エラー : プロジェクトにエラーが含まれています。修正してください
Android でのみ動作する Eclipse Classic 3.7.2 を使用しています。OSとしてUbuntuを使用しています。Eclipse で基本的な Android アプリケーションを実行すると、「Hello World」と呼ばれるエラーが発生します。Your Project contains error(s), please fix them before running your application.
今、私はグーグルで検索し、ここと他の人をチェックしましたが、解決策が得られませんでした.
私も試しProject > clean...
ましたが、うまくいきません。
Windows->Show Views->Problems
2 つのエラーが表示されます:
最終アーカイブの生成中にエラーが発生しました: java.io.FileNotFoundException:/home/android/Desktop/helloworld/bin/resources.ap_does が存在しません。
aapt を解析できません...