Buildozer error while compiling for Android - android

I am trying to compile a Kivy app to an Android apk. I get the following error at the very end of the process. Can someone please advise? The buildozer on-screen debug log and buildozer spec files are attached for reference.
Please advise.
Following is the buildozer error log:
Error: ERROR: /home/neo/code/siva-android/v1.1/.buildozer/android/platform/build-armeabi-v7a/dists/SIVAv1.1__armeabi-v7a/gradlew failed!

I found the issue with help of a person on a Kivy forum. It was due to an incorrect specification of the package name in the Buildozer spec file. Special characters are not allowed.
package.name: String, package name.
The Package name is one word with only ASCII characters and/or numbers. It should not contain any special characters. For example, if your application is named Flat Jewels, the package name can be flatjewels.
Buildozer app specifications

Related

Android WebRTC JNI system error lookup: "last system error: 11"

I got an error message similar to this when doing some WebRTC NDK development on Android:
2019-02-04 13:20:35.987 10214-10246/com.my.package E/rtc: #
# Fatal error in mypath/src/main/jni/src_code.cpp, line 124
# last system error: 11
# Check failed: !jni()->ExceptionCheck()
# error during Class.function_call
#
Given that the exception is buried under some layer of abstraction (WebRTC), the line that would be particular helpful here is last system error: 11. However, trying to find a description of this error has been a little tricky. After doing some Googling, I couldn't seem to find anything. Perhaps I'm looking in the wrong place for a more meaningful description of this error? Would appreciate any help! Thanks!
whatever you've tried to do ...the terminal says:
$ perror 11
OS error code 11: Resource temporarily unavailable
src_code.cpp, line 124 would be required to interpret it in a meaningful way.
most likely some trying to access some resource, which had not been opened.

error: <identifier> expected with package com.native

I followed this instructions to setup android requirements and initiate a project with react-native. When I try to run the application using the command react-native run-android, it keeps showing this error then exiting the process.
/path/to/native/android/app/src/main/java/com/native/MainActivity.java:1: error: <identifier> expected
package com.native;
^
The package name should not be a language tag.
Try the other keyword for the package
Like
package com.nativeapp or package com.appnative
As android relies on java to compile code, packages names fall under java reserved words restrictions, native is one of them. full list in Oracle documentation.
You also will have to avoid javascript reserved keyword defined in ECMA documentation.
Try changing any other package name as given package name is not a valid package name for android/java.

Error when uploading apk to playstore, apk name not valid

I developed my very first android app but when i'm uploading to the Play Store I get the following error:
error
For those not speaking dutch," upload failed, the name of your apk has to be the following format 'com.example.myapp'. I'm guessing I didn't do this but I have no idea how to fix this. I'm using Android Studio 0.6.1
I did search the web but couldn't find a fix.
It is the name of the package of your app i.e bundle identifier. Also example cannot be used in it. For more info: Android - Package Name convention
change the package name
(com.example) is invalid.
use (com.xyz).
xyz means any thing u like but not example

"trouble writing output: Too many field references: 70185; max is 65536. You may try using --multi-dex option." when building Android project

I hit this error and found no hits for the error message, so I thought I'd share the solution I came up with to save anyone else facing the problem repeating my work.
When writing a new Android library (apklib) for use in a (large) application, I'm getting the following error during dexing when I add my new project as a dependency:
trouble writing output: Too many field references: 70185; max is 65536.
You may try using --multi-dex option.
References by package:
<...long list of packages with field counts elided...>
The particular build step it fails on is:
java -jar $ANDROID_SDK/build-tools/19.0.3/lib/dx.jar --dex \
--output=$PROJECT_HOME/target/classes.dex \
<... long list of apklib and jar dependencies elided ...>
Using --multi-dex as recommended by the error message might be a solution, but I'm not the owner of the application project and it already has a large complex build process that I would hesitate to change regardless.
I can reproduce this problem with a no-op test library project that has literally no fields, but in the error output it's listed as having 6000+ fields. Of the packages listed in the error output, there are a handful with similar 6k+ field counts, but then the vast majority have more plausible <1k field counts.
This problem is similar to the "Too many methods" problem that Facebook famously hacked their way around. The FB solution seems insane, and the only other solutions I've found (e.g., this Android bug ticket, or this one, this SO answer, this other SO answer) all involve changing the main app's code which is well beyond the scope of what I want to do.
Is there any other solution?
The solution was to change the package in the AndroidManifest to match the main application's package.
A manifest like this:
<manifest package="com.example.testlibrary" ...
resulted in 6k+ fields and build failure. Changing it to match the main application's package
<manifest package="com.example.mainapplication" ...
resulted in the project building successfully.
Note that only the package in the manifest is changing, I did not make any changes to the library's Java source or its layout (the Java package was still com.example.testlibrary with directory structure to match).
I hypothesize that the different package name is causing all the Android fields to be included again under that package. All the packages in the error listing with 6k+ fields had a different package name than the main application.
I also (later, grr), found this blog post which details the same problem and the eventual same solution.

mk:1: *** missing separator. android NDK

I am trying to compile some source code but when i run the command
make -f android-9-armv7.mk
I get the following error
android-9-armv7.mk:1: * missing separator. Stop.
This is the contents of the file above:
And I have set the IMAGINE_PATH variable as well, cant seem to figure it out.
link ../imagine/make/shortcut/common-builds/android-9-armv7.mk
Compiling instructions
http://code.google.com/p/emu-ex-plus-alpha/wiki/Compiling
Imagine is locaed at C:/Imagine
I don't know where you've taken the sources, but all the android-9-armv7.mk files from different projects on that git has following content:
../imagine/make/shortcut/common-builds/android-9-armv7.mk
...there is no link keyword, which probably is why you get this error.
Also, please be informed that you're building this on Windows machine while documentation clearly states that it's supported only on Linux and Mac OS X.

Categories

Resources