Alipay支払いClassNotFoundException:クラス 'com.alipay.sdk.app.PayTask'が見つかりませんでした



Alipay Payment Classnotfoundexception



Alipay apiドキュメント統合によると、Alipay支払いを統合するプロセスでは、テストデモで通常どおり実行されます。独自のプロジェクトでは、PayTaskが見つかりません。この問題は長い間解決されていません。最後に、プロジェクトで競合が使用されていることがわかりました...このブログレコードを書いてください。問題を抱えている学生に見てもらいたいと思います。

適用する権限が必要な関数にターゲティング権限などの注釈を追加します。



@Permission(Manifest.permission.ACCESS_FINE_LOCATION)//Write one or more permissions to apply, separate private fun positioning() { //Start your positioning code }


ユーザーが同意すると、positioning()関数が実行され、作成したポジショニングコードの実行が開始されます。同意があれば、拒否があります。

@PermissionCanceled //Click to cancel this function private fun cancel() { showToast ('You refused this permission') } @PermissionDenied//Click to cancel and not reminder Execute this function Note After this function is executed, it will automatically jump to the mobile phone system setting permission page. private fun denied() { showToast ('The phone does not work without this permission') }


ここにありますか?ええと〜はい、ここにあります(対応する権限を構成リストに追加することを忘れないでください)。とても簡単です。



gifに来てそれを感じてください

画像

##自分のプロジェクトにlibを導入するにはどうすればよいですか?



このライブラリを使用するには、このライブラリをダウンロードして独自のプロジェクトに導入するのが非常に簡単です。

注意を払う必要があります:

これらのコードをメインプロジェクトアプリbuild.gradleに追加します

apply plugin: 'com.hujiang.android-aspectjx'

メインプロジェクトの最も外側のbuild.gradleを追加します

classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.0'


上記の手順を完了すると、通常どおりに使用できます。簡単じゃないですか。

##問題がある可能性があります

実際、私が最も書きたいのはこのモジュールです! ! !問題が1週間私を悩ませたので、それは解決されました。私はそれを使用したので、このパーミッションライブラリを使用しました。
アスペクトj。これは、AOPで使用されるフレームワークです。何をすべきか知りたい場合は、脚注をクリックして、他に何も言わないかどうかを確認できます。アスペクトJのため、これはデフォルトですべてのバイナリコードファイルとライブラリを処理しますが、最近モジュール化されたばかりなので、支払いモジュールと競合します...

画像

? ? ? ?どうしたの?これが見つかりませんか?

画像

瓶
エラーログとlibのAlipayjar内のディレクトリから見つけることができます。このPaytaskエラーが見つからないのはなぜですか?

上記の文を繰り返します

アスペクトJのため、これはデフォルトですべてのバイナリコードファイルとライブラリを処理します。

それで、それをどのように解決するのですか? Alipayのカスタマーサービスを探しましたが、Alipayjarの問題だと思いました。結果は、aspectjを使用して自分で解決するように指示されました。 。 。
わかりました。githubでaspectjxの作成者を探しています。彼のパッケージを使用しています。無視されたものを見つけました(汗だけではありません)

サードパーティのものをフィルタリングしたい。さて、書いた後、虎の体はショックを受けました~~~

画像

うん?はい、それはまだ間違いでした。それで、私はその文書を数回読みました、問題ありません。 。 。 。 。 。 。
最初はとても大きいです。いきなりテストを開いてやってみました!

解決策は、アプリのbuild.gradleに次のコードを記述することです。

aspectjx { / / Exclude all class files and libraries (jar files) containing `android.support` in the package path exclude 'com/alipay' }


サードパーティのjarパッケージ内のファイルをフィルタリングします。パッケージ名は適用されないことに注意してください。 /で区切られています(これは私が1週間立ち往生している場所です、私はそれを試すことができます)

aspectjx { exclude 'com.alipay' }

フィルタリングされたコードがどこに記述されているかわからないと報告するクラスメートが何人かいます。
appディレクトリのbuild.gradleファイル内のパス。フォーカス:android {}外
次に、キャッシュをクリアクリーンアップします。 aopは静的コードを動的に生成するため、キャッシュを頻繁にクリーンアップすることを忘れないでください。
---------------------