因為移動MM支付的SDK只提供Android版本的,要自己寫過一個android項目再打包重新生成一個jar來供Unity3D引擎使用,這一部分我就不寫了,網(wǎng)上也提供很多的教程,主要是已經(jīng)成功調(diào)用之后,會發(fā)生以下的錯誤: 1.
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程序已經(jīng)找不到原來的那幾個xml文件了,需要把它提到apk外面,但也不能直接簡單地解壓加進去,一定要使用一定的工具。 工具有:apktool,aapt,jarsigner 但由于xda論壇的人在上幾個月已經(jīng)開發(fā)出新的apktool了,叫:AndroidMultitool,這個工具很好用,已經(jīng)集成了上面所有的功能了,大家可以使用這個工具。好,廢話不多說。
大概的流程是: 1,反編譯APK 2,重新編譯成APK 3,用aapt工具把CopyrightDeclaration.xml,mmiap.xml,VERSION這三個文件加到APK的根目錄下面 4,把APK重新簽名,成功!
下面就是對應(yīng)的步驟:
至于第三步,就是在AndroidMultitool文件夾下面的Program_Files下面的aapt程序:
紅色的就是我自己加進去的文件,要把他們加到run0.apk這個程序里面
其他的三個步驟我就不多說了,主要說一下第3個步驟:aapt工具的使用。 我們主要用到兩個命令行(其他命令大家自己網(wǎng)上找吧,很強大的): aapt.exe l run0.apk(這個命令是列出APK里面的資源文件目錄) aapt.exe a run0.apk mmiap.xml(這個命令是把mmiap.xml文件加入到run0.apk中) 當然,我們要加三個文件到里面,各個命令行就不詳寫了,大家自己寫也行了。
搞定后就可以重新簽名就成功了!
AndroidMultitool工具的下載,給一個鏈接給大家吧:http://forum./showthread.php?t=2326604。 由于有人說在那個英文網(wǎng)站下載不了,補個CSDN的下載吧~不用積分~ http://download.csdn.net/detail/lihandsome/6582863
另外,也可以直接使用我自己寫的批處理(懂的用就用批處理比較快): del newtemp.apk
另外:有人說發(fā)現(xiàn)了另外一個錯誤,就是讀取不了MM扣費JAR包里面的圖片資源,這個問題是因為Unity對APK打包的時候,把JAR包里面的資源封在里面了,解決辦法是: 1,先解壓JAR包,把里面的資源文件夾(mmiap這個文件夾)拿出來 2,在Unity項目的Assets文件夾的根目錄下面新建一個StreamingAssets文件夾 3,把mmiap這個文件夾復制到StreamingAssets文件夾下面就可以了。 目錄最后變成:\Assets\StreamingAssets\mmiap\image\vertical\下面的圖片
轉(zhuǎn)載請注明出處,謝謝。http://blog.csdn.net/lihandsome/article/details/11919113 |
|