Unity跨平台技术分享unity3D技术分享

Unity安卓Gradle/jar包(AndroidStuio)

2018-04-11  本文已影响36人  三十五岁是码农

AndroidStudio工程链接github:https://github.com/574096324/Unity-gradle-jar

一:Unity导出Gradle项目,用AS打包apk

Unity 5.x 开始支持使用 aar 文件
Unity 5.4 开始支持导出 Gradle 工程
本文用的工具版本:Unity5.6.4,Android Studio3.0,gradle 4.1
1.在Unity中buildseeting选择gradle,导出项目

image.png
2.用AndroidStudio打开
image.png
3.点取消,选择下载好的gradle,我的是4.1-all,下载地址http://services.gradle.org/distributions/
(如果确定会要翻墙才能下载)
image.png
4.修改你所有的build.gradle为你AS的版本,我的就应该改为3.0.0
image.png
5.修改java代码,修改XML(如果有多个moudle注意SDK的版本一致,否则Merge会出错)
然后Shift+F10就可以直接运行到手机上了,在菜单栏Tools>BuildApk可打出apk

二:打Jar包方式(引入多个SDK,通过Module来实现)

1.在AndroidStuido新建一个Project,随意命名,然后新建个Module如图


image.png

选择AndroidLibrary,这个的PackgeName就是你的app的类似com.xx.xx,要和Unity的一致
2.之后所有的操作都在这个Module文件下进行,修改build.grale,删掉appid,写好依赖(也可手动添加),加上导出jar包的task
附上我的build.gradle代码

apply plugin: 'com.android.library'

android {
    compileSdkVersion 26



    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.0'
    //testImplementation 'junit:junit:4.12'
    //androidTestImplementation 'com.android.support.test:runner:1.0.1'
    //androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
//task to delete the old jar
task deleteOldJar(type: Delete) {
    delete 'release/AndroidPlugin.jar'
}

//task to export contents as jar
task exportJar(type: Copy) {
    from('build/intermediates/bundles/release/')
    into('release/')
    include('classes.jar')
    ///Rename the jar
    rename('classes.jar', 'AndroidPlugin.jar')
}

exportJar.dependsOn(deleteOldJar, build)

android{
    lintOptions{
        abortOnError false
    }
}

3.添加引用到的库,Unity的classes.jar以及第三方SDK的jar,关于Unity的Classes.jar可以参考我的另一片文章:
https://www.jianshu.com/p/1627eb8e83f7项目目录结构可参考截图,还有些静态的.so库

image.png

4.修改java代码,如果报错一般就是依赖关系丢失,检查下libs下的文件是不是加入了依赖,或者File>ProjectStructure...快捷键Ctrl+Shift+Alt+S

image.png
5.在Unity项目中文件放置如图
image.png
6.然后用Unity的BuildApk打包即可
AndroidStudio工程链接github:https://github.com/574096324/Unity-gradle-jar
上一篇 下一篇

猜你喜欢

热点阅读