美文网首页
Unity本地接入wechat-sdk-android-6.8.

Unity本地接入wechat-sdk-android-6.8.

作者: 陈迪斯 | 来源:发表于2021-12-03 15:01 被阅读0次

    网上很多教程讲Unity接入微信支付的方法多是接入以前的微信支付SDK,但是因为已微信官方已经改用gradle形式,将SDK发布到 Maven Central。如果直接在在build.gradle文件中,根据官方提示添加如下依赖:

    dependencies {

        api 'com.tencent.mm.opensdk:wechat-sdk-android:+'

    }

    虽然Android Studio里可以正常编译,但是Make Project后导出的aar包不含微信SDK。

    所以,我的解决方法还是采用把arr包放入Android工程Libs本地的的方式。

    想办法找到了wechat-sdk-android-6.8.0.aar,然后粘贴到App/Libs文件夹。因为网上很多教程都是讲导入的是jar格式的微信SDK,现在我们导入的是aar格式,App的Gradle文件还要稍微修改一下——

    apply plugin: 'com.android.library'

    //默认以arr形式输出

    android {

        compileSdkVersion 29

        defaultConfig {

            minSdkVersion 16

            targetSdkVersion 29

            versionCode 1

            versionName "1.0"

    //        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

        }

        buildTypes {

            release {

                minifyEnabled false

                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

            }

        }

    }

    repositories{

        flatDir{

            dirs 'libs'

        }

    }

    dependencies {

        implementation fileTree(dir: 'libs', include: ['*.jar'])

        implementation 'androidx.appcompat:appcompat:1.0.2'

        implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

        testImplementation 'junit:junit:4.12'

        androidTestImplementation 'androidx.test.ext:junit:1.1.0'

        androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'

        implementation files('libs\\classes.jar')

        implementation (name: 'wechat-sdk-android-6.8.0', ext: 'aar')

    }

    Make Project导出aar包后,用压缩软件打开里面的AndroidManifest.xml,修改如下——

    <?xml version="1.0" encoding="utf-8"?>

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"

        xmlns:tools="http://schemas.android.com/tools"

    package="你的包名"

        android:versionCode="1"

        android:versionName="1.0" >

        <uses-sdk

            android:minSdkVersion="15"

            android:targetSdkVersion="29" />

        <!-- 申请网络访问权限 -->

        <uses-permission android:name="android.permission.INTERNET" />

        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

        <uses-permission android:name="android.permission.READ_PHONE_STATE" />

        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

        <application

            android:allowBackup="true"

            android:icon="@drawable/app_icon"

            android:label="@string/app_name"

            android:supportsRtl="true"

            android:theme="@style/UnityThemeSelector"

            tools:replace="android:icon, android:theme"        >

            <activity

                android:name="你的包名.MainActivity"

                android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"

                android:exported="true"

                android:launchMode="singleTask"

                android:noHistory="false" >

                <intent-filter>

                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />

                </intent-filter>

            </activity>

            <activity

                android:name="你的包名.wxapi.WXPayEntryActivity"

                android:exported="true"

                android:launchMode="singleTop" />

            <activity

                android:name="你的包名.wxapi.WXEntryActivity"

                android:exported="true"

                android:launchMode="singleTop" />

        </application>

    </manifest>

    注意,如果最后发生微信支付可以调用,但支付回调和分享都不能调用的情况,很有可能是activity声明里的“.wxapi”漏了。

    最后,把Android Studio生成并经过处理的aar包和wechat-sdk-android-6.8.0.aar一起导入到Unity工程中,就可以正常调用微信开放功能了。

    具体接入微信支付的教程,大家可以自己网上找资料,有很多,这里我就不详细叙述了。

    相关文章

      网友评论

          本文标题:Unity本地接入wechat-sdk-android-6.8.

          本文链接:https://www.haomeiwen.com/subject/xfapxrtx.html