openframeworks / openFrameworks

openFrameworks is a community-developed cross platform toolkit for creative coding in C++.
http://openframeworks.cc
Other
9.91k stars 2.55k forks source link

Android Studio: Run compiles both release and debug #4503

Open HalfdanJ opened 8 years ago

HalfdanJ commented 8 years ago

I'm not able to completely understand the flow through the make and gradle files. But i can see that when i click run in android studio, gradle is compiling both release and debug mode. Also in both compile steps the resource zip is being produced.

I can disable this behavior by commenting out this line, but thats definitely not the solution :)

I did some benchmarking on a small example where i didn't make any source changes. In the current mode with both release and debug mode, the build took 5.3 sec. Disabling release mode brings down compile time to 1.8 sec.

Any ways to fix this?

Here is my gradle log output:

Executing tasks: [:generateDebugSources, :generateDebugAndroidTestSources, :assembleDebug]

Configuration on demand is an incubating feature.
ofNdkSetup
HOST_OS=Darwin
HOST_ARCH=x86_64
make: Entering directory `/Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample'
Compiling OF library for Debug
/Users/jonas/Development/Android/android-ndk-r10e/prebuilt/darwin-x86_64/bin/make -C /Users/jonas/Development/openframeworks/openFrameworks/libs/openFrameworksCompiled/project/ Debug PLATFORM_OS=Android ABIS_TO_COMPILE_DEBUG="armv7"
HOST_OS=Darwin
HOST_ARCH=x86_64
make[1]: Entering directory `/Users/jonas/Development/openframeworks/openFrameworks/libs/openFrameworksCompiled/project'
HOST_OS=Darwin
HOST_ARCH=x86_64

HOST_OS=Darwin
HOST_ARCH=x86_64
Done!
make[1]: Leaving directory `/Users/jonas/Development/openframeworks/openFrameworks/libs/openFrameworksCompiled/project'

Compiling androidCameraExample for Debug
HOST_OS=Darwin
HOST_ARCH=x86_64
make[1]: Entering directory `/Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample'
make[1]: Leaving directory `/Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample'

HOST_OS=Darwin
HOST_ARCH=x86_64
make[1]: Entering directory `/Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample'
compressing and copying resources from bin/data into res
cd "/Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample"; \
    if [ -d "bin/data" ]; then \
        mkdir -p res/raw; \
        rm res/raw/ofdataresources.zip; \
        cd bin/data; \
        if [ "darwin-x86_64" = "windows" ]; then \
            echo "Windows Platform. Running Zip..."; \
            cmd //c ..\\..\\..\\..\\..\\libs\\openFrameworksCompiled\\project\\android\\windows\\zip -r ../../res/raw/ofdataresources.zip * && exit; \
        else \
            zip -r ../../res/raw/ofdataresources.zip *; \
        fi; \
        cd ../..; \
    fi
    zip warning: name not matched: *

zip error: Nothing to do! (try: zip -r ../../res/raw/ofdataresources.zip . -i *)
copying debugging binaries for armv7
create gdb.setup for armeabi-v7a
creating Android.mk and Application.mk
#@echo updating ofAndroidLib project
#@cd /Users/jonas/Development/openframeworks/openFrameworks/addons/ofxAndroid/ofAndroidLib; \
    #if [ "darwin-x86_64" = "windows" ]; then \
    #   cmd //c /Users/jonas/Library/Android/sdk/platforms/android-22/tools/android.bat update project --target android-21 --path .; \
    #else \
    #   /Users/jonas/Library/Android/sdk/platforms/android-22/tools/android update project --target android-21 --path .; \
    #fi
#@echo updating current project
#@cd /Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample; \
    #if [ "darwin-x86_64" = "windows" ]; then \
    #   cmd //c /Users/jonas/Library/Android/sdk/platforms/android-22/tools/android.bat update project --target android-21 --path .; \
    #else \
    #   /Users/jonas/Library/Android/sdk/platforms/android-22/tools/android update project --target android-21 --path .; \
    #fi
make[1]: Leaving directory `/Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample'
make: Leaving directory `/Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample'
rm: res/raw/ofdataresources.zip: No such file or directory
HOST_OS=Darwin
HOST_ARCH=x86_64
make: Entering directory `/Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample'
Compiling OF library for Release
HOST_OS=Darwin
HOST_ARCH=x86_64
make[1]: Entering directory `/Users/jonas/Development/openframeworks/openFrameworks/libs/openFrameworksCompiled/project'
HOST_OS=Darwin
HOST_ARCH=x86_64
HOST_OS=Darwin
HOST_ARCH=x86_64
HOST_OS=Darwin
HOST_ARCH=x86_64

HOST_OS=Darwin
HOST_ARCH=x86_64
Done!
make[1]: Leaving directory `/Users/jonas/Development/openframeworks/openFrameworks/libs/openFrameworksCompiled/project'

Compiling androidCameraExample for Release
HOST_OS=Darwin
HOST_ARCH=x86_64
make[1]: Entering directory `/Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample'
make[1]: Leaving directory `/Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample'
HOST_OS=Darwin
HOST_ARCH=x86_64
make[1]: Entering directory `/Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample'
Linking libs/armeabi-v7a/libOFAndroidApp_neon.so for android/armeabi-v7a
/Users/jonas/Development/Android/android-ndk-r10e/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-g++ -o libs/armeabi-v7a/libOFAndroidApp_neon.so -s obj/android/neon/Release/src/main.o obj/android/neon/Release/src/ofApp.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/neon/Release/ofxAndroid/src/ofAppAndroidWindow.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/neon/Release/ofxAndroid/src/ofxAndroidAccelerometer.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/neon/Release/ofxAndroid/src/ofxAndroidGPS.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/neon/Release/ofxAndroid/src/ofxAndroidLogChannel.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/neon/Release/ofxAndroid/src/ofxAndroidSoundPlayer.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/neon/Release/ofxAndroid/src/ofxAndroidSoundStream.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/neon/Release/ofxAndroid/src/ofxAndroidUtils.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/neon/Release/ofxAndroid/src/ofxAndroidVibrator.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/neon/Release/ofxAndroid/src/ofxAndroidVideoGrabber.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/neon/Release/ofxAndroid/src/ofxAndroidVideoPlayer.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/neon/Release/ofxAccelerometer/src/ofxAccelerometer.o /Users/jonas/Development/openframeworks/openFrameworks/libs/openFrameworksCompiled/lib/android/neon/libopenFrameworks.a   --sysroot=/Users/jonas/Development/Android/android-ndk-r10e/platforms/android-19/arch-arm/ -nostdlib -L"/Users/jonas/Development/Android/android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a" -Wl,--fix-cortex-a8 -shared -Wl,--no-undefined -Wl,--as-needed -Wl,--gc-sections -Wl,--exclude-libs,ALL /Users/jonas/Development/openframeworks/openFrameworks/libs/FreeImage/lib/android/armeabi-v7a/libfreeimage.a /Users/jonas/Development/openframeworks/openFrameworks/libs/boost/lib/android/armeabi-v7a/libboost_filesystem.a /Users/jonas/Development/openframeworks/openFrameworks/libs/boost/lib/android/armeabi-v7a/libboost_system.a /Users/jonas/Development/openframeworks/openFrameworks/libs/freetype/lib/android/armeabi-v7a/libfreetype.a /Users/jonas/Development/openframeworks/openFrameworks/libs/glu/lib/android/armeabi-v7a/libGLU.a /Users/jonas/Development/openframeworks/openFrameworks/libs/tess2/lib/android/armeabi-v7a/libtess2.a  /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/armeabi-v7a/libPocoNetSSL.a /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/armeabi-v7a/libPocoNet.a /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/armeabi-v7a/libPocoCrypto.a /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/armeabi-v7a/libPocoJSON.a /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/armeabi-v7a/libPocoMongoDB.a /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/armeabi-v7a/libPocoDataSQLite.a /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/armeabi-v7a/libPocoData.a /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/armeabi-v7a/libPocoUtil.a /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/armeabi-v7a/libPocoXML.a /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/armeabi-v7a/libPocoFoundation.a /Users/jonas/Development/openframeworks/openFrameworks/libs/openssl/lib/android/armeabi-v7a/libssl.a /Users/jonas/Development/openframeworks/openFrameworks/libs/openssl/lib/android/armeabi-v7a/libcrypto.a   -lOpenSLES -lsupc++ -lz -lGLESv1_CM -lGLESv2 -llog -ldl -lm -lc -lgnustl_static -lgcc
make[1]: Leaving directory `/Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample'
HOST_OS=Darwin
HOST_ARCH=x86_64
make[1]: Entering directory `/Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample'
Linking libs/x86/libOFAndroidApp.so for android/x86
/Users/jonas/Development/Android/android-ndk-r10e/toolchains/x86-4.9/prebuilt/darwin-x86_64/bin/i686-linux-android-g++ -o libs/x86/libOFAndroidApp.so -s obj/android/x86/Release/src/main.o obj/android/x86/Release/src/ofApp.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/x86/Release/ofxAndroid/src/ofAppAndroidWindow.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/x86/Release/ofxAndroid/src/ofxAndroidAccelerometer.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/x86/Release/ofxAndroid/src/ofxAndroidGPS.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/x86/Release/ofxAndroid/src/ofxAndroidLogChannel.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/x86/Release/ofxAndroid/src/ofxAndroidSoundPlayer.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/x86/Release/ofxAndroid/src/ofxAndroidSoundStream.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/x86/Release/ofxAndroid/src/ofxAndroidUtils.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/x86/Release/ofxAndroid/src/ofxAndroidVibrator.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/x86/Release/ofxAndroid/src/ofxAndroidVideoGrabber.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/x86/Release/ofxAndroid/src/ofxAndroidVideoPlayer.o /Users/jonas/Development/openframeworks/openFrameworks/addons/obj/android/x86/Release/ofxAccelerometer/src/ofxAccelerometer.o /Users/jonas/Development/openframeworks/openFrameworks/libs/openFrameworksCompiled/lib/android/x86/libopenFrameworks.a   --sysroot=/Users/jonas/Development/Android/android-ndk-r10e/platforms/android-19/arch-x86/ -nostdlib -L"/Users/jonas/Development/Android/android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86" -shared -Wl,--no-undefined -Wl,--as-needed -Wl,--gc-sections -Wl,--exclude-libs,ALL /Users/jonas/Development/openframeworks/openFrameworks/libs/FreeImage/lib/android/x86/libfreeimage.a /Users/jonas/Development/openframeworks/openFrameworks/libs/boost/lib/android/x86/libboost_filesystem.a /Users/jonas/Development/openframeworks/openFrameworks/libs/boost/lib/android/x86/libboost_system.a /Users/jonas/Development/openframeworks/openFrameworks/libs/freetype/lib/android/x86/libfreetype.a /Users/jonas/Development/openframeworks/openFrameworks/libs/tess2/lib/android/x86/libtess2.a  /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/x86/libPocoNetSSL.a /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/x86/libPocoNet.a /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/x86/libPocoCrypto.a /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/x86/libPocoJSON.a /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/x86/libPocoMongoDB.a /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/x86/libPocoDataSQLite.a /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/x86/libPocoData.a /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/x86/libPocoUtil.a /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/x86/libPocoXML.a /Users/jonas/Development/openframeworks/openFrameworks/libs/poco/lib/android/x86/libPocoFoundation.a /Users/jonas/Development/openframeworks/openFrameworks/libs/openssl/lib/android/x86/libssl.a /Users/jonas/Development/openframeworks/openFrameworks/libs/openssl/lib/android/x86/libcrypto.a   -lOpenSLES -lsupc++ -lz -lGLESv1_CM -lGLESv2 -llog -ldl -lm -lc -lgnustl_static -lgcc
make[1]: Leaving directory `/Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample'

HOST_OS=Darwin
HOST_ARCH=x86_64
make[1]: Entering directory `/Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample'
compressing and copying resources from bin/data into res
cd "/Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample"; \
    if [ -d "bin/data" ]; then \
        mkdir -p res/raw; \
        rm res/raw/ofdataresources.zip; \
        cd bin/data; \
        if [ "darwin-x86_64" = "windows" ]; then \
            echo "Windows Platform. Running Zip..."; \
            cmd //c ..\\..\\..\\..\\..\\libs\\openFrameworksCompiled\\project\\android\\windows\\zip -r ../../res/raw/ofdataresources.zip * && exit; \
        else \
            zip -r ../../res/raw/ofdataresources.zip *; \
        fi; \
        cd ../..; \
    fi
    zip warning: name not matched: *

zip error: Nothing to do! (try: zip -r ../../res/raw/ofdataresources.zip . -i *)
copying debugging binaries for armv7 neon x86
create gdb.setup for armeabi-v7a
create gdb.setup for x86
creating Android.mk and Application.mk
#@echo updating ofAndroidLib project
#@cd /Users/jonas/Development/openframeworks/openFrameworks/addons/ofxAndroid/ofAndroidLib; \
    #if [ "darwin-x86_64" = "windows" ]; then \
    #   cmd //c /Users/jonas/Library/Android/sdk/platforms/android-22/tools/android.bat update project --target android-21 --path .; \
    #else \
    #   /Users/jonas/Library/Android/sdk/platforms/android-22/tools/android update project --target android-21 --path .; \
    #fi
#@echo updating current project
#@cd /Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample; \
    #if [ "darwin-x86_64" = "windows" ]; then \
    #   cmd //c /Users/jonas/Library/Android/sdk/platforms/android-22/tools/android.bat update project --target android-21 --path .; \
    #else \
    #   /Users/jonas/Library/Android/sdk/platforms/android-22/tools/android update project --target android-21 --path .; \
    #fi
make[1]: Leaving directory `/Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample'
make: Leaving directory `/Users/jonas/Development/openframeworks/openFrameworks/examples/android/androidCameraExample'
rm: res/raw/ofdataresources.zip: No such file or directory
:preBuild UP-TO-DATE
:preDebugBuild UP-TO-DATE
:checkDebugManifest
:preReleaseBuild UP-TO-DATE
:ofAndroidLib:compileLint
:ofAndroidLib:copyReleaseLint UP-TO-DATE
:ofAndroidLib:mergeReleaseProguardFiles UP-TO-DATE
:ofAndroidLib:preBuild UP-TO-DATE
:ofAndroidLib:preReleaseBuild UP-TO-DATE
:ofAndroidLib:checkReleaseManifest
:ofAndroidLib:prepareReleaseDependencies
:ofAndroidLib:compileReleaseAidl UP-TO-DATE
:ofAndroidLib:compileReleaseRenderscript UP-TO-DATE
:ofAndroidLib:generateReleaseBuildConfig UP-TO-DATE
:ofAndroidLib:generateReleaseAssets UP-TO-DATE
:ofAndroidLib:mergeReleaseAssets UP-TO-DATE
:ofAndroidLib:generateReleaseResValues UP-TO-DATE
:ofAndroidLib:generateReleaseResources UP-TO-DATE
:ofAndroidLib:packageReleaseResources UP-TO-DATE
:ofAndroidLib:processReleaseManifest UP-TO-DATE
:ofAndroidLib:processReleaseResources UP-TO-DATE
:ofAndroidLib:generateReleaseSources UP-TO-DATE
:ofAndroidLib:processReleaseJavaRes UP-TO-DATE
:ofAndroidLib:compileReleaseJavaWithJavac UP-TO-DATE
:ofAndroidLib:packageReleaseJar UP-TO-DATE
:ofAndroidLib:compileReleaseNdk UP-TO-DATE
:ofAndroidLib:packageReleaseJniLibs UP-TO-DATE
:ofAndroidLib:packageReleaseLocalJar UP-TO-DATE
:ofAndroidLib:packageReleaseRenderscript UP-TO-DATE
:ofAndroidLib:bundleRelease UP-TO-DATE
:prepareAndroidCameraExampleOfAndroidLibUnspecifiedLibrary UP-TO-DATE
:prepareDebugDependencies
:compileDebugAidl UP-TO-DATE
:compileDebugRenderscript UP-TO-DATE
:generateDebugBuildConfig UP-TO-DATE
:generateDebugAssets UP-TO-DATE
:mergeDebugAssets UP-TO-DATE
:generateDebugResValues UP-TO-DATE
:generateDebugResources UP-TO-DATE
:mergeDebugResources UP-TO-DATE
:processDebugManifest UP-TO-DATE
:processDebugResources UP-TO-DATE
:generateDebugSources UP-TO-DATE
:preDebugAndroidTestBuild UP-TO-DATE
:prepareDebugAndroidTestDependencies
:compileDebugAndroidTestAidl UP-TO-DATE
:processDebugAndroidTestManifest UP-TO-DATE
:compileDebugAndroidTestRenderscript UP-TO-DATE
:generateDebugAndroidTestBuildConfig UP-TO-DATE
:generateDebugAndroidTestAssets UP-TO-DATE
:mergeDebugAndroidTestAssets UP-TO-DATE
:generateDebugAndroidTestResValues UP-TO-DATE
:generateDebugAndroidTestResources UP-TO-DATE
:mergeDebugAndroidTestResources UP-TO-DATE
:processDebugAndroidTestResources UP-TO-DATE
:generateDebugAndroidTestSources UP-TO-DATE
:processDebugJavaRes UP-TO-DATE
:compileDebugJavaWithJavac UP-TO-DATE
:compileDebugNdk UP-TO-DATE
:compileDebugSources UP-TO-DATE
:preDexDebug UP-TO-DATE
:dexDebug UP-TO-DATE
:validateDebugSigning
:packageDebug UP-TO-DATE
:zipalignDebug UP-TO-DATE
:openFrameworksProject:compileDebugOF UP-TO-DATE
:assembleDebug UP-TO-DATE

BUILD SUCCESSFUL

Total time: 5.487 secs
bakercp commented 7 years ago

@HalfdanJ Any updates on this?