Module单独运行调试

首先在主工程目录下的gradle.properties建立变量,控制当前moudle是单独运行还是moudle形式
image.png
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true

# 注意不要带有标点符号,比如xx=true; 会被转换为false
isSampleDebug=true
然后在对应moudle目录下建立一个用于测试的清单文件,清单文件需要设置默认启动的activity,还有一些调试时候需要用到res也要设置下。

image.png
Debug模式下的清单文件

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.lexinfintech.sample">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true">
        <activity android:name=".activity.ComponentListActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
** module模式下的清单文件**

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.lexinfintech.sample">

    <application>
        <activity android:name=".activity.ComponentListActivity" />
    </application>

</manifest>
在对应moudle目录下的gradle里面做如下配置
1、独立工程需要apply plugin: ‘com.android.application‘
2、独立工程需要设置applicationID
3、独立工程需要都默认启动的主activity,这里需要设置不同的清单文件和资源引用位置
//单独工程和lib的声明不同
if (isSampleDebug.toBoolean()) {
    apply plugin: ‘com.android.application‘
} else {
    apply plugin: ‘com.android.library‘
}
android {

    //限制资源名称
    resourcePrefix project.getName() + "_"
    defaultConfig {

        //作为单独工程,需要设置applicationID
        if (isSampleDebug.toBoolean()) {
            applicationId "com.lexinfintech.sample"
        }

    }

    sourceSets {
        main {
            // 单独调试与集成调试时使用不同的 AndroidManifest.xml 文件
            if (isSampleDebug.toBoolean()) {
                manifest.srcFile ‘src/main/debug/AndroidManifest.xml‘
                //多增加一个资源调试路径 src/main/debug/res
                res.srcDirs = [‘src/main/res‘, ‘src/main/debug/res‘]

            } else {
                manifest.srcFile ‘src/main/AndroidManifest.xml‘
                java {
                    //module 模式下要 排除src/test/文件夹下的所有文件
                    exclude ‘src/debug/‘
                }
            }

        }
    }

}

dependencies {
    implementation fileTree(include: [‘*.jar‘], dir: ‘libs‘)
    api project(‘:base‘)
}

最后还需要在主工程设置一下引用关系
    //主工程在组件作为单独工程运行的时候,要过滤到此组件,因为application是不能直接引用application的
    if(!isSampleDebug.toBoolean()){
        runtimeOnly project(‘:sample‘)
    }
这样moudle就可以作为独立工程跑起来了

https://www.jianshu.com/p/5014bc7cf0de

原文地址:https://www.cnblogs.com/wikiki/p/11636959.html

时间: 2024-08-30 04:07:17

Module单独运行调试的相关文章

Django项目导入Eclipse运行调试

受不了没有调试的感觉. 前提是Eclipse插件已经安装完成并且可以成功运行例子.参考:http://blog.csdn.net/jerome_s/article/details/46340079 1. 新建一个"Pydev Project"项目 2. project contents选择要导入的项目的路径 (如果有提示多余文件什么的可进入目录删除对应文件即可) 3. 将项目设置为django项目 右击项目 4. 设置项目manage.py 右击项目属性 5. 运行 右击项目debug

jnlp本地运行调试

jnpl本地运行调试,需要在java控制面板中设置下,打开控制面板->Java->高级:其中调试下面的启用跟踪启用日志记录,显示小应用程序生命周期异常错误都打上勾.java控制台下面显示控制台选中,就可以在运行的时候看到相关信息了. 记录一下..

Tigase-02 tigase-server7.1.0使用git 克隆下来,并在eclipse 上运行调试

继 Tigase-01 使用spark或spi登录Tigase服务器,这节说明下使用 eclipse git克隆 tigase-server7.1.0,并运行调试!最近有不少同学尝试去git clone 源代码遇到不少麻烦,所以这里就统一写个文章来展示下怎么去克隆源代码,这也是曾经一位同学给我指导的,在此谢谢小张同学,互相学习真是无所不能啊!所以今天我22点下班后,回来就开始准备写这个文章拉,希望能帮到更多同学拉拉拉! 使用eclipse 来跑tigase 源码的方法有三种: 一.网速快的同还可

Spark运行调试方法与学习资源汇总

最近,在学习和使用Spark的过程中,遇到了一些莫名其妙的错误和问题,在逐个解决的过程中,体会到有必要对解决上述问题的方法进行总结,以便能够在短时间内尽快发现问题来源并解决问题,现与各位看官探讨学习如下: 解决spark运行调试问题的四把“尖刀”: 1.Log 包括控制台日志.主从节点日志.HDFS日志等.许多错误可以通过日志,直接对错误类型.错误来源进行准确定位,因此,学会读取和分析Log是解决问题的第一步. 2.Google 确定错误类型和原因后,就可以使用Google在Spark User

单独运行shell脚本与crontab运行shell脚本的区别

crontab运行脚本存在两大问题:环境变量和路径,从而导致单独运行脚本没问题,但用crontab运行就报错. 1.环境变量 描述问题:crontab: usage error: no arguments permitted after this option 因为crontab不提供环境,所以需要自己在shell中加入,或者全部用绝对路径.简单的方法:控制台输入 [[email protected] ~]# echo $PATH /your/path/1:/your/path/2------

利用 PhpStorm、Idea 等 IDE 如何 运行/调试 Go 程序 ?

以自己常用的 PhpStorm 为例 第一步:下载安装 Go插件 File -> Settings -> Plugins -> 输入关键字:Go 第二步:新建 Go项目 File -> New Project -> 选择“Go” 特别注意: 新建 Go项目时,一定要通过上述方式建立,而不能通过 “直接打开现有文件夹” 的方式建立,因为这种方式建的是 PHP 项目.不然,Go 的智能提示等功能都失效! 第三步:新建 Go 文件 New -> Go File 第四步:运行/

PHP分别做为CGI和module来运行的配置

php: PHP Version 5.0.0b4 apache: Apache/2.0.49 (Win32) 1.做为apache2的cgi运行 ScriptAlias /php/ "c:/php/"AddType application/x-httpd-php .phpAction application/x-httpd-php "/php/php-cgi.exe" 上面的代码添加到httpd.conf 2.做为apache的模块运行 LoadModule php

本地IIS运行调试遇到的问题

今天偶然间遇到的问题,搞不清缘由!但还是想记录下来,点滴的记录才能更快更好地成长!问题:如图 IIS服务器上运行正常,本地IIS运行调试就出现此问题! 经过IIS Express调试一次之后,本地IIS调试又恢复了正常!始终没整明白到底是啥问题,以前从来没有遇到过类似的问题!本人系初学菜鸟,如有大神路过,望告知,不胜感激!

关于oc和swift混编 框架framework时 只能在真机运行或只能在模拟器单独运行的解决方案

问题描述: 关于oc和swift混编 框架framework时 只能在真机运行或只能在模拟器单独运行的解决方案. 问题提供者:by 走跑 解决方案: 首先制作swift版本的framework(Cocoa Touch Framework)取名FirstMixed 1. 工程里面新建一个SwiftView.swift文件,继承UIView,class必须是public修饰 2. 生成真机和模拟器通用的FirstMixed.framework参考这篇文章的制作通用动态库部分,这里面有教如何生成真机和