command line - Linking compiled android libraries together in a complex project -
i'm migrating large, complicated android library project gradle, , having trouble incorporating library projects large project. has been discussed in other questions, no 1 has yet (to knowledge) posted problem. have several applications, bunch of third party libraries, , own shared library. folder structure follows:
--root -build.gradle -settings.gradle |--apps |--myapp |--libraries |--thirdparty |--actionbarsherlock -build.gradle |--facebook -build.gradle |--google-play-services-lib -build.gradle |--personal |--commons -build.gradle - androidmanifest.xml |--src |--main, blah blah |--proprietary
now, personal/commons library depends on of third party libs (abs, facebook, etc). each third party lib depends on common jar files can brought in mavencentral, , each of builds perfectly. it's important have separation of thirdparty personal libraries, , equally important neither nor "libraries" folder android project in own right.
(update: removed base build.gradle , settings.gradle files simplify.)
note i'm trying follow similar solution in simpler problem.
in /root/ folder, settings.gradle file reads:
include ':libraries:personal:commons' include ':libraries:thirdparty:actionbarsherlock' include ':libraries:thirdparty:facebook' include ':libraries:thirdparty:google-play-services-lib' include ':apps:myapp'
and build.gradle file @ same level (/root/) empty.
edit: removed calls evaluationdependson(':thirdparty:facebook')
, other sub-projects. compiling yields same answer dependency failure issue.
when run gradle build
@ /root/libraries/personal level (again, following linked example), first compiles of thirdparty libraries (hooray!). then, gives looks actual java compile error: /root/libraries/personal/commons/src/main/java/com/personal/commons/dialog/alertdialogfragment.java:19: cannot find symbol symbol : method dismissallowingstateloss() location: class com.personal.commons.dialog.alertdialogfragment instance.dismissallowingstateloss();
i suspect linking problem, though, since (1) it's been compiling on year in eclipse no change in code, , (2) alertdialogfragment extends sherlockdialogfragment, extends dialogfragment, dismissallowingstateloss()
defined. doesn't complain, though, class definition
public class alertdialogfragment extends sherlockdialogfragment {
or import com.actionbarsherlock.app.sherlockdialogfragment
@ top of file, somehow thinks well, can't resolve dependencies. when @ build folder of /root/libraries/thirdparty/actionbarsherlock, class file indeed output sherlockdialogfragment. why won't poor custom library see this?
all attempts settle issue far have failed, gradle-fu still weak. know fatal error is?
Comments
Post a Comment