0

私は今、ほぼ1週間この問題に悩まされています。私が直面している問題は、アプリケーションをデバッグ モードに設定すると、プリンター機能が正常に動作することです。正しい応答が返され、サンプル テキストが POS のサーマル プリンターから印刷されます。

ただし、アプリをリリース モードに切り替えると、動作が少し異なります。何が起こっているかを理解するために、正しいメソッド呼び出しと応答を次に示します。OS への要求が正しく、戻り値も正しいことがわかります。

09-06 21:22:04.058 357-357/? D/LibPrinterService: PrinterService getStatus...
09-06 21:22:04.072 357-357/? D/LibPrinterService: PrinterService getStatus,status=0
09-06 21:22:04.072 6412-6432/com.company.newpos D/PAYSDK: [+] Print Status: 0
09-06 21:22:04.072 357-466/? D/LibPrinterService: PrinterService getMaxTemperature...
09-06 21:22:04.074 357-466/? D/LibPrinterService: PrinterService getMaxTemperature,max=70
09-06 21:22:04.074 6412-6432/com.company.newpos D/PAYSDK: [+] Print MaxTemp: 70
09-06 21:22:04.074 357-5733/? D/LibPrinterService: PrinterService getWidth...
09-06 21:22:04.076 6412-6432/com.company.newpos D/PAYSDK: [+] Print Width: 384
09-06 21:22:04.077 357-357/? D/LibPrinterService: PrinterService getTemperature...
09-06 21:22:04.082 6412-6432/com.company.newpos D/PAYSDK: [+] Print Temp: 32

それが正しい方法です。今度はリリースモードに切り替えます。メソッドの動作は異なります。このgetStatus()メソッドは、PrinterService に現在の温度 ( getTemperature()) をgetMaxTemperature()返し、ステータス ( getStatus()) を返します。その結果、プリンターモジュールがすべて台無しになり、プリンターが機能しなくなります。

最初は、proguard マッピングの問題だと思っていましたが (まだあるかもしれません)、proguard と minify を無効にしても同じことが起こります。

ここで何が起こっているのかを教えてくれる人はいますか?

ありがとう

4

2 に答える 2