問題タブ [apktool]
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.
aapt - APK再構築の悩み
私はいつも apktool を使用して apk ファイルを逆コンパイルします<attr name="do" format="string" />
。逆コンパイルされたとき。
問題は、このリソース ファイルを含むフォルダーを再構築すると、エラーが発生し、次のようなエラー メッセージが表示されることです:「エラー: 無効なシンボル: 'do'」またはerror: invalid symbol: 'if'
.
原因として、私は apktool のソース コードを読みましたが、これらのエラー メッセージは apktool によってスローされるのではなく、コードを実行するときに aapt によってスローされることがわかりましOS.exec(cmd.toArray(new String[0]));
た。「if」と「do」という言葉は最も人気のあるプログラミング言語のキーワードでもあるため、Google はこれらの例外を処理するのを忘れていると思いますが、私と同じ問題に遭遇した人はいますか? あなたの助けを願っています。brut.androlib.res
AndroidLibResources.java
android - apktool が apk ファイルを生成していません
ツールを使用してapktool 2.0.0 rc4バージョンとパッケージ化されていないCP.apkファイルを使用し、ファイルを変更して「 apktool b CP test.apk 」コマンドを使用して再パッケージ化しようとしました
出力は次のようになりますが、作業ディレクトリに test.apk はありません。
何か不足していますか?
android - スマリ編集中。問題 : 下位 16 ビットをゼロにする必要があります。16 進数の ID が間違っていますか?
おはよう/午後/夕方、私はスマリ語の初心者で静かですが、コンパイル中に解決できない問題があります。この質問が以前に聞かれたことがないことを願っていますが、Google と stackoverflow のいくつかのスレッドをチェックアウトしましたが、解決策が見つからなかったので、解決していないと思います。それで、何が起こるか:
アプリの C1.smali ファイルを変更しようとしています。配列の間違った ID を変更したいだけです。だから私はIDを置き換えただけで、他には何も触れていません。
変更後のsmali ファイル:
もちろん、public.xml ファイル (res\values 内) をチェックして、id が正しいことを確認しました。私はあなたに自分で見てもらいました:
今、再コンパイルしたいとき、apktoolは私が理解できない問題をスローします:
C:\apktool>apktool b CC
I: Using Apktool 2.0.0-RC4
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
CC\smali\com\one\aplication\C1.smali[58,4] Invalid literal value: 2131099649.
Low 16 bits must be zeroed out.
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file
: com/one/aplication/C1.smali
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:71)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:55)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:41)
at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:354)
at brut.androlib.Androlib.buildSources(Androlib.java:294)
at brut.androlib.Androlib.build(Androlib.java:280)
at brut.androlib.Androlib.build(Androlib.java:255)
at brut.apktool.Main.cmdBuild(Main.java:225)
at brut.apktool.Main.main(Main.java:84)
誰かがこの問題の原因について何か知っていますか? apktool の問題は、私が修正した行 [58] を指しています。本当にどうなるかわからない!私を助けてくれる人に感謝し、私の下手な英語を許してください。良い一日を過ごしてください!:)
java - Java からシェルで apktool コマンドを実行できない
apktool
Java プログラムからを使用しようとしています。これを使用してWebサービスを作成しています。ただし、このコマンドは Java プログラムからシェルで実行されません。
コマンドは、シェルから直接完全に正常に機能します。
android - WebView の代わりにブラウザを使用するようにアプリを変更する
手元に Android アプリがあり、Apktool を使用して逆コンパイルしました。現在、いくつかの .smali ファイルがあり、URL を開くために WebView ではなく Browser を使用するようにそのアプリを変更したいと考えています。どのコードを変更する必要がありますか? 助けてください。ありがとうございました。
android - Xamarin.Android が ApkTool を使用して apk パッケージ名を編集すると、クラッシュが発生する
Xamarin を使用して Visual Studio で作成した Android アプリのインスタンスを同時に実行するには、既存の .apk のパッケージ名を変更できる必要があります。ただし、このパッケージ名を変更する必要がある場合、Xamarin ライセンスを使用してコンピューターに確実にアクセスすることはできないため、ビルド前のマニフェストを単純に編集することはできません。ApkTool を使用して、apk を解凍し、マニフェストを編集してから、apk を再パッケージ化して再署名しようとしました。ただし、この新しい apk を元の apk と並べてデバイスにインストールすることはできますが、新しいアプリ インスタンスは起動しません。次のエラーが表示されます。
"monodroid" "'(null)' または '/storage/emulated/0/Android/data/com.newpackagename/files/.override' にアセンブリが見つかりません。これが Fast Deployment の一部であると仮定します。終了します..."
これは、ビルド後にパッケージ名を何らかの形で変更すると、アセンブリへのリンクが失われたことを意味すると思います。ただし、解凍された apk 全体 (フォルダーとファイル内の両方) を検索しても、元のパッケージ名への参照は見つかりません。したがって、これらのアセンブリを回復してアプリを実行できるようにする方法を見つけたいと思います。これは非常に珍しいことであり、正しい方法ではないかもしれないことは理解していますが、Xamarin にアクセスせずにパッケージ名を変更する機能が必要です。これは最も有望な解決策のようです。
android - apktools を使用して snapchat をコンパイルするとインストールに失敗する
よし、apktoolsでapkを逆コンパイルするのに問題がある。現在、root なしでキャプションの長さを無制限にできるように、現在のバージョンの snapchat を編集しようとしています。これを行うために、apktools で apk を逆コンパイルし、必要な smali ファイルを編集してから再コンパイルしましたが、何らかの理由で電話にインストールされません。
次に、編集せずにapkを逆コンパイルして再コンパイルしようとしましたが、それも機能しませんでした。
アプリを適切にビルドしてインストールするために必要な特別な署名はありますか? それとも、apktools に欠けているものでしょうか? 私は他の多くのapkを逆コンパイルしましたが、それらは正常に機能しましたが、snapchatにはそれがありません. どんな助けでも大歓迎です、ありがとう。