i use self-written library-module within project suggested in
https://code.google.com/p/android/issues/detail?id=105570
and
android studio 0.8.1 creating modules without copying files?
i added lines settings.gradle , furthermore added included library via "project structure"-dialog dependency project. use android studio 1.2.2.
everything within ide looks fine (imports working, library-code can browsed , edited, both modules can "maked" without errors), can't seem launch project on phone / emulator.
i "classnotfoundexception" first class library used in app.
i copy-pasted entire project class class eclipse run without problems.
what have compiled classes of library app onto phone?
settings.gradle
include ':app' include ':sudoku' project(':sudoku').projectdir=new file('/../libs/sudoku') build.gradle (app)
apply plugin: 'com.android.application' android { compilesdkversion 22 buildtoolsversion "22.0.1" defaultconfig { applicationid "com.frozenmilkmeteoroids.sudokuapp" minsdkversion 15 targetsdkversion 22 versioncode 1 versionname "1.0" } buildtypes { release { minifyenabled false proguardfiles getdefaultproguardfile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile filetree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:22.2.0' compile project(':sudoku') } build.gradle (library)
apply plugin: 'com.android.library' android { compilesdkversion 22 buildtoolsversion "22.0.1" defaultconfig { minsdkversion 15 targetsdkversion 22 versioncode 1 versionname "1.0" } buildtypes { release { minifyenabled false proguardfiles getdefaultproguardfile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile filetree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.2.0' }
i use android studio 1.2.2 , here step step of how create standalone library project , reference main project:
create android project library normal android project. call libprojectname
rename libprojectname's app module libmodulename
in libmodulename's build.gradle change:
apply plugin: 'com.android.application'apply plugin: 'com.android.library', remove applicationid defaultconfig sectiongo main project i.e project reference libprojectname
- edit
settings.gradle, add:
include ':libprojectname:libmodulename'
project(':libprojectname:libmodulename').projectdir=new file('relative/path/libprojectdir/libmoduledir')
- edit
build.gradlein app module, add:
compile project(':libprojectdir:libmodulename')
now assuming module , module-directory name in sudoku modulesudoku , applying steps above, solution is:
settings.gradle
include ':app' include ':sudoku:modulesudoku' project(':sudoku:modulesudoku').projectdir=new file('/../libs/sudoku/modulesudoku') build.gradle (app)
apply plugin: 'com.android.application' android { compilesdkversion 22 buildtoolsversion "22.0.1" defaultconfig { applicationid "com.frozenmilkmeteoroids.sudokuapp" minsdkversion 15 targetsdkversion 22 versioncode 1 versionname "1.0" } buildtypes { release { minifyenabled false proguardfiles getdefaultproguardfile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile filetree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:22.2.0' compile project(':sudoku:modulesudoku') } build.gradle (library)
apply plugin: 'com.android.library' android { compilesdkversion 22 buildtoolsversion "22.0.1" defaultconfig { minsdkversion 15 targetsdkversion 22 versioncode 1 versionname "1.0" } buildtypes { release { minifyenabled false proguardfiles getdefaultproguardfile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile filetree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.2.0' }
Comments
Post a Comment