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は静的コードを動的に生成するため、キャッシュを頻繁にクリーンアップすることを忘れないでください。
---------------------