Status Update
Comments
xa...@android.com <xa...@android.com>
ch...@gmail.com <ch...@gmail.com> #2
This is also affecting me as well, but for a slightly (maybe?) different reason. I'm using Gradle Build Types to change my application ID before installation. However, the ndk-gdb script pulls the package name out of the manifest and tries to feed that into a run-as call, which is expecting the modified application ID. E.g. the package name from the manifest is com.company.game while the application Id is com.company.game.debug. Run-as fails and takes ndk-gdb with it.
dm...@gmail.com <dm...@gmail.com> #3
I've modified the script to fit my needs, but this is essentially blocking adoption of the multiple build types feature via Gradle
xa...@android.com <xa...@android.com> #5
TutuApp had "PACKAGE_NAME" issue in it's version 2.21.00 android version. The have recently released the latest TutuApp version https://appspopo.com/tutuapp/ with major bugs fixed so it won't any further restrict you from running the applications downloaded via Tutuapp.
Description
OS version: Windows 8.1
Java JRE/JDK version: 1.7.0_51 64bits
gradle version: 1.11
android-plugin version: 0.9.0
NDK version: r9d 64bits
When building ndkJniLib sample from the gradle-samples-0.9 on windows I get this error:
make.exe: *** No rule to make target `C:\Users\xhallade\Desktop\ndkJniLib\lib\build\ndk\release\obj/local/armeabi-v7a/objs/hellojni/C_\Users\xhallade\Desktop\ndkJniLib\lib\src\main\jni', needed by `C:\Users\xhallade\Desktop\ndkJniLib\lib\build\ndk\release\obj/local/armeabi-v7a/objs/hellojni/C_\Users\xhallade\Desktop\ndkJniLib\lib\src\main\jni\hello-jni.o'.
Stop.
If I create a new empty .c file aside hello-jni.c and run gradle again, the .so files are getting generated correctly.
In fact instead of calling gradle again, I can edit myself the generated Android.mk and add the second file to fix this.
When I re-run the ndk-build command line issue by gradle everything compiles fine, so the root cause seem to come from the NDK and not from the build system.
The command issued by gradle:
C:\Android\ndk\ndk-build.cmd NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=C:\Users\xhallade\Desktop\ndkJniLib\lib\build\ndk\release\Android.mk APP_PLATFORM=android-19 NDK_OUT=C:\Users\xhallade\Desktop\ndkJniLib\lib\build\ndk\release\obj NDK_LIBS_OUT=C:\Users\xhallade\Desktop\ndkJniLib\lib\build\ndk\release\lib APP_ABI=all
The generated Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hellojni
LOCAL_SRC_FILES := \
C:\Users\xhallade\Desktop\ndkJniLib\lib\src\main\jni\hello-jni.c \
LOCAL_C_INCLUDES += C:\Users\xhallade\Desktop\ndkJniLib\lib\src\main\jni
LOCAL_C_INCLUDES += C:\Users\xhallade\Desktop\ndkJniLib\lib\src\release\jni
include $(BUILD_SHARED_LIBRARY)
They are the same in both cases - only the reference to the other .c file is added in Android.mk when it's there.
The sample is attached.