日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Unity3D接入移动MM支付SDK(强联网)的问题

發布時間:2023/12/18 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unity3D接入移动MM支付SDK(强联网)的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

因為移動MM支付的SDK只提供android版本的,要自己寫過一個android項目再打包重新生成一個jar來供Unity3d引擎使用,這一部分我就不寫了,網上也提供很多的教程,主要是已經成功調用之后,會發生以下的錯誤:

1.failed to find resource file(mmiap.xml}

06-28 05:14:09.746: E/d(4709): failed to find resource file(mmiap.xml}
06-28 05:14:09.776: D/AndroidRuntime(4709): Shutting down VM
06-28 05:14:09.776: W/dalvikvm(4709): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
06-28 05:14:09.786: E/AndroidRuntime(4709): FATAL EXCEPTION: main
06-28 05:14:09.786: E/AndroidRuntime(4709): java.lang.NullPointerException
06-28 05:14:09.786: E/AndroidRuntime(4709):?
at mm.purchasesdk.d.a.a(Unknown Source)
06-28 05:14:09.786: E/AndroidRuntime(4709):?
at mm.purchasesdk.f.a(Unknown Source)
06-28 05:14:09.786: E/AndroidRuntime(4709):?
at mm.purchasesdk.Purchase.init(Unknown Source)

這個是因為重新打包過JAR之后,APK程序已經找不到原來的那幾個xml文件了,需要把它提到apk外面,但也不能直接簡單地解壓加進去,一定要使用一定的工具。

工具有:apktool,aapt,jarsigner

但由于xda論壇的人在上幾個月已經開發出新的apktool了,叫:AndroidMultitool,這個工具很好用,已經集成了上面所有的功能了,大家可以使用這個工具。好,廢話不多說。


大概的流程是:

1,反編譯APK

2,重新編譯成APK

3,用aapt工具把CopyrightDeclaration.xml,mmiap.xml,VERSION這三個文件加到APK的根目錄下面

4,把APK重新簽名,成功!


下面就是對應的步驟:



至于第三步,就是在AndroidMultitool文件夾下面的Program_Files下面的aapt程序:



紅色的就是我自己加進去的文件,要把他們加到run0.apk這個程序里面


其他的三個步驟我就不多說了,主要說一下第3個步驟:aapt工具的使用。

我們主要用到兩個命令行(其他命令大家自己網上找吧,很強大的):

aapt.exe l run0.apk(這個命令是列出APK里面的資源文件目錄)

aapt.exe a run0.apk mmiap.xml(這個命令是把mmiap.xml文件加入到run0.apk中)

當然,我們要加三個文件到里面,各個命令行就不詳寫了,大家自己寫也行了。


搞定后就可以重新簽名就成功了!




AndroidMultitool工具的下載,給一個鏈接給大家吧:http://forum.xda-developers.com/showthread.php?t=2326604。

由于有人說在那個英文網站下載不了,補個CSDN的下載吧~不用積分~

http://download.csdn.net/detail/lihandsome/6582863


另外,也可以直接使用我自己寫的批處理(懂的用就用批處理比較快):

del newtemp.apk
java -jar "apktool.jar" d -s -f temp.apk tmpAndroid
java -jar "apktool.jar" ?b -f tmpAndroid run1.apk
rd /s /q tmpAndroid
aapt.exe a run1.apk mmiap.xml CopyrightDeclaration.xml VERSION
java -jar signapk.jar testkey.x509.pem testkey.pk8 run1.apk run_signed.apk
del run1.apk
zipalign.exe -v 4 run_signed.apk newtemp.apk
del run_signed.apk



另外:有人說發現了另外一個錯誤,就是讀取不了MM扣費JAR包里面的圖片資源,這個問題是因為Unity對APK打包的時候,把JAR包里面的資源封在里面了,解決辦法是:

1,先解壓JAR包,把里面的資源文件夾(mmiap這個文件夾)拿出來

2,在Unity項目的Assets文件夾的根目錄下面新建一個StreamingAssets文件夾

3,把mmiap這個文件夾復制到StreamingAssets文件夾下面就可以了。

目錄最后變成:\Assets\StreamingAssets\mmiap\image\vertical\下面的圖片



轉載請注明出處,謝謝。http://blog.csdn.net/lihandsome/article/details/11919113

總結

以上是生活随笔為你收集整理的Unity3D接入移动MM支付SDK(强联网)的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。