我正在寻找一种方法来分离我正在创建的应用程序的代码。这只是实验者,我不确定这是不是好事
我的项目结构如下所示
| --app
|
| --login
在我的登录android库中,我只有两个输入字段的登录屏幕没什么特别的。
那么,我如何在我的应用项目中使用它?
我是否需要发布它才能将其用作网址?或者我可以在内部使用它?
settings.gradle
include ':app', ':login'
登录librabry 的build.gradle
apply plugin: 'com.android.library'
android {
compileSdkVersion 26
defaultConfig {
minSdkVersion 19
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'
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'
}
和app build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.app.mandala"
minSdkVersion 19
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(include: ['*.jar'], dir: 'libs')
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 project(':login')
}
我似乎无法在我的应用内部布局中包含登录库/模块。
答案 0 :(得分:0)
在您的库build.gradle中替换以下行:
implementation fileTree(dir: 'libs', include: ['*.jar'])
带
api fileTree(dir: 'libs', include: ['*.jar'])
在您的app build.gradle中,删除以下行:
implementation fileTree(include: ['*.jar'], dir: 'libs')
,您可能必须包含完整的包名称,例如<com.domain.project.CustomLoginView>
答案 1 :(得分:0)
我不确定,但我和你一样,但我正在设置库模块,如下所示。尝试将path:
添加到build.gradle。顺便说一句,如果你想让你的图书馆打开,你可以将它上传到远程资料库进行分享。但如果不这样做,则只能在项目中使用它。
implementation project(path: ':login')