diff --git a/makepanda/makepackage.py b/makepanda/makepackage.py index 26447c9b6d..a46684d7d0 100755 --- a/makepanda/makepackage.py +++ b/makepanda/makepackage.py @@ -866,7 +866,7 @@ def MakeInstallerAndroid(version, **kwargs): shutil.copy(source, target) # Walk through the library dependencies. - handle = subprocess.Popen(['readelf', '--dynamic', target], stdout=subprocess.PIPE) + handle = subprocess.Popen(['llvm-readelf', '--dynamic', target], stdout=subprocess.PIPE) for line in handle.communicate()[0].splitlines(): # The line will look something like: # 0x0000000000000001 (NEEDED) Shared library: [libpanda.so] diff --git a/makepanda/makepanda.py b/makepanda/makepanda.py index 59e29e62e5..9162ba0415 100755 --- a/makepanda/makepanda.py +++ b/makepanda/makepanda.py @@ -2078,7 +2078,8 @@ def CompileJava(target, src, opts): if optlevel >= 4: cmd += "-debug:none " - cmd += "-cp " + GetOutputDir() + "/classes " + classpath = BracketNameWithQuotes(SDK["ANDROID_JAR"] + ":" + GetOutputDir() + "/classes") + cmd += "-cp " + classpath + " " cmd += "-d " + GetOutputDir() + "/classes " cmd += BracketNameWithQuotes(src) oscmd(cmd) @@ -4916,11 +4917,13 @@ if GetTarget() == 'android': TargetAdd('org/panda3d/android/NativeIStream.class', opts=OPTS, input='NativeIStream.java') TargetAdd('org/panda3d/android/NativeOStream.class', opts=OPTS, input='NativeOStream.java') TargetAdd('org/panda3d/android/PandaActivity.class', opts=OPTS, input='PandaActivity.java') + TargetAdd('org/panda3d/android/PandaActivity$1.class', opts=OPTS+['DEPENDENCYONLY'], input='PandaActivity.java') TargetAdd('org/panda3d/android/PythonActivity.class', opts=OPTS, input='PythonActivity.java') TargetAdd('classes.dex', input='org/panda3d/android/NativeIStream.class') TargetAdd('classes.dex', input='org/panda3d/android/NativeOStream.class') TargetAdd('classes.dex', input='org/panda3d/android/PandaActivity.class') + TargetAdd('classes.dex', input='org/panda3d/android/PandaActivity$1.class') TargetAdd('classes.dex', input='org/panda3d/android/PythonActivity.class') TargetAdd('p3android_composite1.obj', opts=OPTS, input='p3android_composite1.cxx') diff --git a/makepanda/makepandacore.py b/makepanda/makepandacore.py index f250dac5fe..edafc82454 100644 --- a/makepanda/makepandacore.py +++ b/makepanda/makepandacore.py @@ -2615,6 +2615,8 @@ def SdkLocateAndroid(): # We need to redistribute the C++ standard library. stdlibc = os.path.join(ndk_root, 'sources', 'cxx-stl', 'llvm-libc++') stl_lib = os.path.join(stdlibc, 'libs', abi, 'libc++_shared.so') + if not os.path.isfile(stl_lib): + stl_lib = os.path.join(prebuilt_dir, 'sysroot', 'usr', 'lib', ANDROID_TRIPLE.rstrip('0123456789'), 'libc++_shared.so') CopyFile(os.path.join(GetOutputDir(), 'lib', 'libc++_shared.so'), stl_lib) # The Android support library polyfills C++ features not available in the