360 Replugin运行配置(一)

主程序接入Replugin

1. 添加Replugin Host Gradle依赖

在项目根目录里的build.gradle(不是app/build.gradle)中添加replugin-host-gradle依赖:

dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1'
    classpath 'com.qihoo360.replugin:replugin-host-gradle:2.2.4'
    

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}


2. 添加Replugin Host Lib依赖

在app/build.gradle里应用replugin-host-gradle插件,并添加replugin-host-lib依赖:

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.android.plugin"
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }

    android.applicationVariants.all {
        variant ->
            variant.outputs.all {
                output ->
                    def outputFile = output.outputFile
                    if (outputFile.name.contains("debug")){
                        outputFileName = new File("../debug/", "plugin_debug_v${android.defaultConfig.versionName}_${releaseTime()}.apk")
                    }
                    if (outputFile.name.contains("release")){
                        outputFileName = new File("../release/", "plugin_release_v${android.defaultConfig.versionName}_${releaseTime()}.apk")
                    }
            }
    }
}

def releaseTime() {
    return new Date().format("yyyyMMddHHmmss", TimeZone.getTimeZone("Asia/Chongqing"))
}

apply plugin: 'replugin-host-gradle'

repluginHostConfig {

 
 
// 是否支持AppComat
useAppCompat = true

// 定义常驻进程的名字
//persistentName = ":XXService"
}dependencies { implementation fileTree( dir: 'libs', include: [ '*.jar']) implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' 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' implementation 'com.qihoo360.replugin:replugin-host-lib:2.2.4'}

3 配置AndroidManifest.xml文件

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

<application
    android:name="com.android.plugin.MyApplication"

<meta-data
        android:name="com.qihoo360.plugin.name"
        android:value="plugintest" />
    <meta-data
        android:name="com.qihoo360.plugin.version.ver"
        android:value="100" />
</application>

4 配置Application类

让工程的 Application 直接继承自 RePluginApplication。

如果您的工程已有Application类,则可以将基类切换到RePluginApplication即可。或者您也可以用“非继承式”接入,可参考官网介绍。

public class MyApplication extends RePluginApplication {

}

下面就开发插件了。可参考360 Replugin运行配置(二)

源码下载



猜你喜欢

转载自blog.csdn.net/wyyother1/article/details/79615350
360