OpenVPN for Android

Related tags

App android openvpn
Overview

OpenVPN for Android

build status

Description

With the new VPNService of Android API level 14+ (Ice Cream Sandwich) it is possible to create a VPN service that does not need root access. This project is a port of OpenVPN.

Get it on F-Droid Get it on Google Play

Developing

If you want to develop on ics-openvpn please read the doc/README.txt before opening issues or emailing me.

Also please note that before contributing to the project that I would like to retain my ability to relicense the project for different third parties and therefore probably need a contributer's agreement from any contributing party. To get started, sign the Contributor License Agreement.

You can help

Even if you are no programmer you can help by translating the OpenVPN client into your native language. Crowdin provides a free service for non commercial open source projects (Fixing/completing existing translations is very welcome as well)

FAQ

You can find the FAQ here (same as in app): https://ics-openvpn.blinkt.de/FAQ.html

Controlling from external apps

There is the AIDL API for real controlling (see developing section). Due to high demand also the Activities de.blinkt.openvpn.api.DisconnectVPN and de.blinkt.openvpn.api.ConnectVPN exist. It uses de.blinkt.openvpn.api.profileName as extra for the name of the VPN profile.

Note to administrators

You make your life and that of your users easier if you embed the certificates into the .ovpn file. You or the users can mail the .ovpn as a attachment to the phone and directly import and use it. Also downloading and importing the file works. The MIME Type should be application/x-openvpn-profile.

Inline files are supported since OpenVPN 2.1rc1 and documented in the OpenVPN 2.3 man page (under INLINE FILE SUPPORT)

(Using inline certifaces can also make your life on non-Android platforms easier since you only have one file.)

For example ca mycafile.pem becomes

  <ca>
  -----BEGIN CERTIFICATE-----
  MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290
  [...]
  -----END CERTIFICATE-----
  </ca>

Footnotes

Please note that OpenVPN used by this project is under GPLv2.

If you cannot or do not want to use the Play Store you can download the apk files directly.

If you want to donate you can donate to [email protected] via paypal, or alternatively if you believe in fancy Internet money you can use Bitcoin: 1EVWVqpVQFhoFE6gKaqSkfvSNdmLAjcQ9z

The old official or main repository was a Mercurial (hg) repository at http://code.google.com/p/ics-openvpn/source/

The new Git repository is now at GitHub under https://github.com/schwabe/ics-openvpn

Please read the doc/README before asking questions or starting development.

Comments
  • VPN Not attempting to reconnect - Stuck at

    VPN Not attempting to reconnect - Stuck at "Waiting N seconds between reconnect"

    General information

    1. Android Version: 5.1
    2. Android Vendor/Custom ROM: LG stock (rooted)
    3. Device : LG G4
    4. Version of the app: play store version (0.6.64)

    Description of the issue

    The app does not seem to correctly retry to connect after wifi is unavailable and then becomes available again. It gets "stuck" at waiting for N seconds to reconnect. I have a strong wifi signal (notification bar signal meter confirms) and as soon as I manually tell the app to reconnect, it is able to connect immediately just fine.

    Either hitting Pause/Resume on the notification banner, or 3Dots->Disconnect VPN->Reconnect will do the trick to manually kick and cause a successful reconnect.

    I've noticed this issue for several months (where it would take longer to reconnect even with good wifi signal, but eventually would pickup and reconnect). Recently it has worsened and I often have to manually kick it to reconnect. I even tried decreasing the "Seconds between connections" to 5s, and "Max time between connection attempts" to 11s, but this has not helped.

    Here's a good scenario, which goes along with the attached log file: OpenVPN_logfile_2017-01-17.txt

    1. This morning I connected to VPN over WiFi just fine. Was working at my desk all morning.
    2. Just after noon (12:05), I leave my desk and head over to get some lunch - which is about a 5 min walk away. This entails walking across campus during which time the phone jumps to various routers (all configured for seamless coverage of the campus). As usual the phone jumps routers which usually causes several breaks in service, and therefore likely shoddy re-connections attempts to the WiFi network along the way as it bounces around.
    3. I had lunch, then at about 12:47 I start walking back to my desk following same route in reverse with same normal router jumping as I walk.
    4. I get to my desk and work for a while before, at roughly 14:20, I notice that VPN hasn't automatically reconnected and just continually shows the "Waiting 5s between connection attempts" notification in drawer. The entire time after lunch (about 12:55 and after), I'm sitting at my desk I have full WiFi signal, and haven't moved at my desk. It's not a wifi connectivity issue at this point. One bit of note: At this point, the top status bar OpenVPN icon is "empty" or not-filled (signifying that the app is attempting to reconnect/disconnected), HOWEVER, the little VPN connect key icon android shows when VPN connection is established also appears, which suggests it thinks I've got an active VPN connection. Clearly, I don't have a connection, so I wonder if this conflicting icon information is either a symptom or indicator of what may be preventing OpenVPN app from automatically reconnecting???
    5. I waited a bit just to be sure it was really stuck. Powered on the screen, toyed around with home screen, etc, and waited a couple more mins for it to automatically reconnect, to no avail.
    6. Finally, at 14:33, I hit the pause & resume on the notification, at which point VPN happily connects as it should have tried doing so.

    I can provide more info if needed. LMK what you need and I'll try to help any way I can.

    opened by numericOverflow 43
  • Connection stopped working since the last update

    Connection stopped working since the last update

    What steps will reproduce the problem?
    1. Run version 0.5.0
    2. Happily use your VPN connection
    3. Upgrade to the latest version (0.5.1)
    
    What is the expected output? What do you see instead?
    
    OpenVPN fails to initialize a connection, with the following error
    "Error writing minivpn binary"
    
    What version of the product are you using? On what operating system?
    0.5.1, ICS
    
    

    Original issue reported on code.google.com by [email protected] on 10 May 2012 at 7:25

    Bug 
    opened by GoogleCodeExporter 41
  • Wi-Fi hotspot enabled on host device with OpenVPN connected... connected client devices have no internet

    Wi-Fi hotspot enabled on host device with OpenVPN connected... connected client devices have no internet

    What steps will reproduce the problem?
    1. Enable "Portable Wi-Fi hotspot" on device1
    2. Connect device2 to device1 via Wi-Fi like you would with a router
    3. Attempt to connect to the internet
    
    What is the expected output?
    The internet to work as normal on device2 except it's all rerouted through the 
    OpenVPN connection on device1
    
    What do you see instead?
    I get no response on device2 and eventually times out ( any application that 
    requires internet )
    
    What version of the product are you using? 0.5.6
    
    On what operating system? Android 4.0.4 Build IMM76I ( device1, stock, not 
    rooted )
    
    Please provide any additional information below.
    
    device1 - Samsung Galaxy Nexus Android - 4.0.4 Build IMM76I ( stock, not rooted 
    )
    device2 - Samsung Galaxy Tab 10.1 - Android 3.2 ( stock, not rooted )
    

    Original issue reported on code.google.com by [email protected] on 26 May 2012 at 8:22

    Bug 
    opened by GoogleCodeExporter 40
  • Android TV 7.0 crash on Sony Bravia after sleep

    Android TV 7.0 crash on Sony Bravia after sleep

    1. Android Version: Android TV 7.0
    2. Android Vendor/Custom ROM: Sony Bravia Android TV (stock 2018)
    3. Device: Sony KDL-49WF804
    4. Version of the app: 0.7.8

    If any VPN is active when the TV is resuming from standby, a core Android service process crashes and the TV performs a full reboot rather than elegantly resuming from standby.

    There is also a thread in the Sony forum that describes the issue further and although it has the title "Android 6.0.1 reboots after enabling VPN apps" I can confirm this also affects Android TV 7.0 on my Sony KDL-49WF804: https://community.sony.ie/t5/android-tv/bug-android-6-0-1-reboots-after-enabling-vpn-apps/td-p/2284371

    I can also confirm that the TV resume from standby behaves normally when OpenVPN for Android is installed but any VPN connection is off which gives weight to the theory this issue is centered around VPN being active on standby resume.

    Is there any hope that you can do a potential fix to this issue as suggested? The solution for this issue might be to pause/stop the VPN connection when the TV is going into standby (screen off) and then later resume the VPN when the TV is brought out of standby (screen on) while OpenVPN for Android is active.

    opened by ukasru 35
  • Feature Request: app blocking

    Feature Request: app blocking

    Right now the current functionality only gives the option of apps using the vpn connection or using the default connection. It would be great if there was an option to completely block the app off the internet while the connection is active.

    There are tools that uses the android vpn feature to block apps locally such as this but it is impossible to use them together with openvpn, since android allows one connection at a time. With the added feature the user would be able to do the both. It would be very useful for anyone who doesn't have the option to root their phone.

    opened by autumna 34
  • Persistent

    Persistent "I trust this application" prompt

    What steps will reproduce the problem?
    1.  Connect to a VPN
    2.  Agree to "I trust this application" prompt
    3.  Re-connect to the same VPN
    4.  See "I trust this application" propmt again
    
    What is the expected output? What do you see instead?
    
    I expect that the prompt will only appear for the first connection attempt.  
    After you agree to trust the application you should not be prompted on 
    subsequent connections.
    
    
    What version of the product are you using? On what operating system?
    
    Openvpn for Android 0.5.5a on Android 4.0.4
    
    
    Please provide any additional information below.
    
    

    Original issue reported on code.google.com by [email protected] on 20 May 2012 at 10:30

    Bug 
    opened by GoogleCodeExporter 34
  • Import ics-openvpn as library

    Import ics-openvpn as library

    To make issues more manageable, I would appreciate if you fill out the details if applicable

    General information

    1. Android Version
    2. Android Vendor/Custom ROM
    3. Device
    4. Version of the app (version number/play store version/self built)

    Description of the issue

    Hi I write client/server app.i use ics-openvpn apk to secure communication between them.the server app is on my side and the client app side is far from.i have to send two apk file to remote.i try to use source code of ics-openvpn finally i did it!!!! I add ics-openvpn as library to my client project but the client merge manifest file does not have any item of ics-openvpn manifest. Is it a normal? How can i solve it?

    opened by davoodfadaei 32
  • Stuck on permission on ICS Open VPN

    Stuck on permission on ICS Open VPN

    While connecting from a remote app to start VPN on ICS Open VPN, "trust this application" dialog is coming , and when we click on OK button with agree "I trust this application", there is no connecting process is going forward and the app is stuck on.The issue will still be there on all HighEnd phones with 4.4.4 and above including NEXUS 5. In the older version of the ICS OpenVPN, Once the agree button is clicked - the vpn connection will start connecting.

    opened by aneeshATgithub 30
  • Automate not added as trusted external app

    Automate not added as trusted external app

    General information

    1. Android Version 8.0 (EMUI 8.0.0, March 2019 update), 9.0 (April 2019 update)
    2. Android Vendor/Custom ROM Huawei, Google
    3. Device Honor 7x, Pixel 3
    4. Version of the app (version number/play store version/self-built) 0.7.8

    Description of the issue

    I am using Automate to start a VPN connection, and when it first starts I am prompted to trust Automate. If I disconnect then reconnect through Automate, I am asked to trust Automate each time again. When I look at the setting "Clear allowed external apps" it shows "Allowed apps: null"

    opened by Taomyn 29
  • About a problem?

    About a problem?"read UDP [ENETUNREACH]: Network is unreachable (code=101)",Please help.Thank you!!!!

    Hello! Thank you for your help! About this problem,If vpn reconnect , Machine display this error -----"read UDP [ENETUNREACH]: Network is unreachable (code=101)"

    Help please! Thank you!!!!!!!! Thank you!!!!!!!! Thank you!!!!!!!!

    opened by qingqingdaxia 29
  • OpenVPN2 does not work/OpenVPN works against CentOS7 with OpenVPN 2.3.16(?)

    OpenVPN2 does not work/OpenVPN works against CentOS7 with OpenVPN 2.3.16(?)

    OpenVPN for Android does not work and does not connect to the server. If you import this .ovpn file into the application

    https://play.google.com/store/apps/details?id=net.openvpn.openvpn

    The connection is successful and the VPN is working successfully. If you import this .ovpn into

    https://play.google.com/store/apps/details?id=de.blinkt.openvpn

    Error occurs TLS error: TLS key negotiation failed within 60 seconds (check network connection)

    What is the problem?

    .ovpn file ready to go https://pastebin.com/CXpVzsVV

    Log file from Openvpn Android app (de.blinkt.openvpn) https://pastebin.com/xgmRPb12

    opened by ZoriN89 26
  • Authentications breaks after connecting successfully a few times

    Authentications breaks after connecting successfully a few times

    General information

    1. Android Version 13
    2. Android Vendor/Custom ROM GrapheneOS
    3. Device Pixel 7 Pro
    4. Version of the app (version number/play store version/self-built) 0.7.43 F-droid

    Description of the issue

    After setting a default VPN all VPN connections will fail authentication. Without default VPN set authentication works properly.

    This issue is not present in 0.7.42 f-droid

    opened by NotAPerso 2
  • Support sharing

    Support sharing "Allowed Apps" setting between multiple profiles

    When installing many apps, some of which you trust and some of which you trust less, it is very inconvenient to have to repeat your "allowed apps" settings across multiple profiles for when you want to switch VPN provider, but your idea of which apps are more or less trustworthy remains the same.

    This could be done by separating out the "Allowed Apps" setting into a separate concept of an "app profile", then allowing each "VPN profile" to select an "app profile" in a non 1-to-1 mapping.

    Feature Request 
    opened by infinity0 0
  • Profile deletion in the UI is not reflected in the AIDL API

    Profile deletion in the UI is not reflected in the AIDL API

    To make issues more manageable, I would appreciate it if you fill out the following details as applicable:

    General information

    1. Android Version: API version 33
    2. Android Vendor/Custom ROM: Android simulator
    3. Device: Android simulator
    4. Version of the app (version number/play store version/self-built): 0.7.38 downloaded from github releases.

    Description of the issue

    Delete a profile in the UI, but calling getProfiles() in another app still getting the old profile listed.

    Steps to reproduce

    1. Create a profile in OpenVPN for Android.
    2. Don't kill OpenVPN for Android, but switch to another app.
    3. In another app, call getProfiles() API. You can find the new profile is listed.
    4. Switch back to OpenVPN for Android, and delete that profile.
    5. Don't kill OpenVPN for Android. Switch back to the other app again and call getProfiles() API.

    Expected behaviour

    getProfiles() does not return the deleted profile.

    Observed

    getProfiles() still returns the same content, with the deleted profile inside.

    opened by kaoet 1
  • Tor over VPN functionality

    Tor over VPN functionality

    Hello! This changes add functionality of routing all applications' traffic through VPN and then Tor network (Your device -> VPN -> Tor).

    Why?

    In some countries it is illegal or suspicious to use Tor, therefore such countries block access to Tor. This means that such group of people should hide the fact of using Tor from ISP in order not to draw unwanted attention to their traffic. And if your VPN server is configured properly it will increase your anonymity. Related links: https://gitlab.torproject.org/legacy/trac/-/wikis/doc/TorPlusVPN#vpnssh-fingerprinting, https://www.whonix.org/wiki/Bridges#cite_ref-2, https://tor.stackexchange.com/questions/559/vpn-versus-bridges This functionality will also help in beating Android's limitation of one active VPN connection on devices for people who want to use OpenVPN and Orbot at the same time.

    Screenshots

    image image image

    Issues

    That's the only related issue I've found so far https://github.com/schwabe/ics-openvpn/issues/1074

    P.S.

    I'm new to Android development and contributing to open-source therefore I assume that my code may contain flaws. I will be happy to fix those flaws if you'll kindly point out to them.

    Thanks! I really hope that you'll like this contribution and it will be merged

    opened by Pinkolik 11
  • Edit configuration stack trace

    Edit configuration stack trace

    General information

    1. Android 11
    2. MIUI 12.5.7 (latest)
    3. Redmi Note 8 Pro
    4. OpenVPN for Android 0.7.37 (latest)
    5. User auth via client certificate (x509)

    Description of the issue

    Hello. Found a stack trace when:

    1. Connect to VPN server
    2. Choose edit configuration via menu
    3. Do do nothing in confuration and return to connection log

    2022-06-10 12:20:01 Getting X509 Name from certificate: com.android.org.bouncycastle.asn1.x509.X509Name.getInstance [class java.lang.Object] java.lang.NoSuchMethodException: com.android.org.bouncycastle.asn1.x509.X509Name.getInstance [class java.lang.Object] at java.lang.Class.getMethod(Class.java:2072) at java.lang.Class.getMethod(Class.java:1693) at de.blinkt.openvpn.core.X509Utils.getCertificateFriendlyName(X509Utils.java:136) at de.blinkt.openvpn.core.X509Utils.getCertificateFriendlyName(X509Utils.java:82) at de.blinkt.openvpn.views.FileSelectLayout.setData(FileSelectLayout.java:155) at de.blinkt.openvpn.fragments.Settings_Basic.loadPreferences(Settings_Basic.java:192) at de.blinkt.openvpn.fragments.KeyChainSettingsFragment.onStart(KeyChainSettingsFragment.kt:208) at androidx.fragment.app.Fragment.performStart(Fragment.java:3053) at androidx.fragment.app.FragmentStateManager.start(FragmentStateManager.java:587) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:279) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1840) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1758) at androidx.fragment.app.FragmentManager.execSingleAction(FragmentManager.java:1670) at androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:323) at androidx.fragment.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:249) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1244) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1092) at androidx.viewpager.widget.ViewPager.onMeasure(ViewPager.java:1622) at android.view.View.measure(View.java:26057) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7105) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552) at android.widget.LinearLayout.measureVertical(LinearLayout.java:842) at android.widget.LinearLayout.onMeasure(LinearLayout.java:721) at android.view.View.measure(View.java:26057) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7105) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:145) at android.view.View.measure(View.java:26057) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7105) at androidx.appcompat.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:496) at android.view.View.measure(View.java:26057) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7105) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at android.view.View.measure(View.java:26057) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7105) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552) at android.widget.LinearLayout.measureVertical(LinearLayout.java:842) at android.widget.LinearLayout.onMeasure(LinearLayout.java:721) at android.view.View.measure(View.java:26057) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7105) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at com.android.internal.policy.DecorView.onMeasure(DecorView.java:767) at android.view.View.measure(View.java:26057) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:3635) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:2413) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2679) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2135) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8624) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:975) at android.view.Choreographer.doCallbacks(Choreographer.java:799) at android.view.Choreographer.doFrame(Choreographer.java:734) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:960) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:236) at android.app.ActivityThread.main(ActivityThread.java:8057) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:620) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1011) 2022-06-10 12:20:01 Getting X509 Name from certificate: com.android.org.bouncycastle.asn1.x509.X509Name.getInstance [class java.lang.Object] java.lang.NoSuchMethodException: com.android.org.bouncycastle.asn1.x509.X509Name.getInstance [class java.lang.Object] at java.lang.Class.getMethod(Class.java:2072) at java.lang.Class.getMethod(Class.java:1693) at de.blinkt.openvpn.core.X509Utils.getCertificateFriendlyName(X509Utils.java:136) at de.blinkt.openvpn.fragments.KeyChainSettingsFragment$setCertificate$1.run(KeyChainSettingsFragment.kt:131)

    openvpn.trace.zip

    opened by dmitrygribenchuk 3
  • NullPointerException and IllegalThreadStateException when repeatedly connecting

    NullPointerException and IllegalThreadStateException when repeatedly connecting

    General information

    1. Android Version: 11
    2. Android Vendor/Custom ROM: OnePlus OxygenOS
    3. Device: OnePlus 9 Pro
    4. Version of the app (version number/play store version/self-built): Bug seems to occur in F-Droid version v0.7.37, but not in v.0.7.29. After testing different versions, it seems that the bug is introduced in 3a674d30e1c7118b73efaf353cea7c43a95dc8c7

    Description of the issue

    When repeatedly and quickly pressing an OpenVPN shortcut and immediately pressing the back button on the device to close the OpenVPN log, OpenVPN crashes. The same crashes occur when repeatedly pressing the connect/disconnect toggle in the latest version of the eduVPN Android app.

    Log

    Different crashes occur:

    java.lang.NullPointerException: Attempt to invoke virtual method 'void java.lang.Thread.start()' on a null object reference
    	at de.blinkt.openvpn.core.OpenVPNService.startOpenVPN(OpenVPNService.java:638)
    	at de.blinkt.openvpn.core.OpenVPNService.lambda$onStartCommand$1$de-blinkt-openvpn-core-OpenVPNService(OpenVPNService.java:528)
    	at de.blinkt.openvpn.core.OpenVPNService$$ExternalSyntheticLambda0.run(Unknown Source:6)
    	at java.lang.Thread.run(Thread.java:923)
    
    java.lang.IllegalThreadStateException
    	at java.lang.Thread.start(Thread.java:872)
    	at de.blinkt.openvpn.core.OpenVPNService.startOpenVPN(OpenVPNService.java:638)
    	at de.blinkt.openvpn.core.OpenVPNService.lambda$onStartCommand$1$de-blinkt-openvpn-core-OpenVPNService(OpenVPNService.java:528)
    	at de.blinkt.openvpn.core.OpenVPNService$$ExternalSyntheticLambda0.run(Unknown Source:6)
    	at java.lang.Thread.run(Thread.java:923)
    
    java.lang.NullPointerException: Attempt to invoke virtual method 'void java.lang.Thread.start()' on a null object reference
    	at de.blinkt.openvpn.core.OpenVPNService.startOpenVPN(OpenVPNService.java:638)
    	at de.blinkt.openvpn.core.OpenVPNService.lambda$onStartCommand$1$de-blinkt-openvpn-core-OpenVPNService(OpenVPNService.java:528)
    	at de.blinkt.openvpn.core.OpenVPNService$$ExternalSyntheticLambda0.run(Unknown Source:6)
    	at java.lang.Thread.run(Thread.java:923)
    
    java.lang.NullPointerException: Attempt to invoke virtual method 'void de.blinkt.openvpn.core.DeviceStateReceiver.networkStateChange(android.content.Context)' on a null object reference
    	at de.blinkt.openvpn.core.OpenVPNService.registerDeviceStateReceiver(OpenVPNService.java:451)
    	at de.blinkt.openvpn.core.OpenVPNService.lambda$startOpenVPN$2$de-blinkt-openvpn-core-OpenVPNService(OpenVPNService.java:659)
    	at de.blinkt.openvpn.core.OpenVPNService$$ExternalSyntheticLambda1.run(Unknown Source:4)
    	at android.os.Handler.handleCallback(Handler.java:938)
    	at android.os.Handler.dispatchMessage(Handler.java:99)
    	at android.os.Looper.loop(Looper.java:233)
    	at android.app.ActivityThread.main(ActivityThread.java:8035)
    	at java.lang.reflect.Method.invoke(Native Method)
    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631)
    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)
    
    opened by fantostisch 3
Releases(v0.7.43)
Owner
Arne Schwabe
Arne Schwabe
FoldingNavigationDrawer-Android This is a sample project present how to use Folding-Android to add Folding Efect to Navigation Drawer.

FoldingNavigationDrawer-Android Sample (Play Store Demo) This is a sample project present how to use Folding-Android to add Folding Efect to Navigatio

null 242 Nov 25, 2022
Twidere-Android Twidere is a powerful twitter client for Android 1.6+ 1 , which gives you a full Holo experience and nearly full Twitter's feature.

Twidere for Android Material Design ready and feature rich Twitter/Mastodon/Fanfou app for Android 4.1+. Enjoy Fediverse now! Twidere-Android is maint

Twidere Project 2.7k Jan 2, 2023
:movie_camera: Movie discovery app showcasing Android best practices with Google's recommended architecture: MVVM + Repository + Offline support + Android Architecture Components + Paging library & Retrofit2.

Popular Movies Stage 1 + Stage 2 Discover the most popular and top rated movies playing. Movies data fetched using themoviedb.org API. ✨ Screenshots M

Yassin AJDI 189 Nov 26, 2022
Extensible Android mobile voice framework: wakeword, ASR, NLU, and TTS. Easily add voice to any Android app!

Spokestack is an all-in-one solution for mobile voice interfaces on Android. It provides every piece of the speech processing puzzle, including voice

Spokestack 57 Nov 20, 2022
Aggregated Android news, articles, podcasts and conferences about Android Development

DroidFeed Curated news feed for Android Developers! Stay up to date with the latest Android Development news. Built for the Android developer communit

Dogan Gulcan 183 Dec 2, 2022
Shreyas Patil 2.1k Dec 30, 2022
A simple app to showcase Androids Material Design and some of the cool new cool stuff in Android Lollipop. RecyclerView, CardView, ActionBarDrawerToggle, DrawerLayout, Animations, Android Compat Design, Toolbar

#Android-LollipopShowcase This is a simple showcase to show off Android's all new Material Design and some other cool new stuff which is (new) in Andr

Mike Penz 1.8k Nov 10, 2022
The Android startup used to schedule tasks, jobs while launching Android App.

Android Startup, schedule your startup jobs Introduction AndroidStartup is an open source project used to refine your Andriod App startup. Compared wi

ShouHeng 46 Aug 24, 2022
Android playground project with modularization by feature (android libraries), unit tests, MVVM & MVI.

Movies Movies is a simple project to study and play with some android components, architecture and tools for Android development. Tech Stack This proj

Christopher Elias 333 Dec 30, 2022
🌄 Photo editor using native modules for iOS and Android. Inherit from 2 available libraries, Brightroom (iOS) and PhotoEditor (Android)

React Native Photo Editor (RNPE) ?? Image editor using native modules for iOS and Android. Inherit from 2 available libraries, Brightroom (iOS) and Ph

Baron Ha. 242 Dec 28, 2022
Ride-Sharing Uber Lyft Android App - Learn to build a ride-sharing Android Taxi Clone App like Uber, Lyft - Open-Source Project By MindOrks

Ride-Sharing Uber Lyft Android App - Learn to build a ride-sharing Android Taxi Clone App like Uber, Lyft - Open-Source Project By MindOrks

MindOrks 1.2k Dec 29, 2022
A simple Android app to demonstrate the use of Hover SDK for M-PESA Send Money while offline. This SDK does not require an internet connection, it automates USSD sessions in the background of an android application.

HoverSDKDemo Hover SDK is an Android SDK that lets mobile developers to add money features to the applications. This SDK does not require an internet

Joel Kanyi 9 Dec 21, 2022
Source code of JekyllEx Android App which can manage your Jekyll blog directly from your Android device!

JekyllEx Android App Built with ❤︎ by Gourav Khunger ?? Introduction JekyllEx is an Android App that allows you to manage a Jekyll Blog directly from

JekyllEx 24 Nov 8, 2022
A Simple and Minimal Quotes Android Application to demonstrate the Modern Android Development tools

Quotee Android ?? A Simple and Minimal Quotes Android Application to demonstrate the Modern Android Development tools. Developed with ❤️ by Aminullah

null 12 Aug 24, 2022
🎥 A Simple and Minimal Movies Android Application to demonstrate the Modern Android Development and Jetpack Compose.

ComposeMovie Android ?? A Simple and Minimal Movies Android Application to demonstrate the Modern Android Development and Jetpack Compose. Built with

null 13 Oct 1, 2022
Android Studio project wrapper around the Elixir TodoApp Desktop app to run on Android including the Erlang runtime

TodoApp Android: An Android Sample App This Android Studio project wraps the Desktop Sample App to run on an Android phone. How to build & run Install

elixir-desktop 78 Dec 10, 2022
GmailCompose is an Android application 📱 for showcasing Jetpack Compose for building declarative UI in Android.

GmailCompose GmailCompose Demo GmailCompose is an Android application ?? for showcasing Jetpack Compose for building declarative UI in Android. About

Baljeet Singh 35 Nov 29, 2022
Parsing and re-packing Android boot.img/vbmeta.img, supporting Android 12(preview)

Android_boot_image_editor A tool for reverse engineering Android ROM images. Getting Started install required packages Mac: brew install lz4 xz dtc Li

null 615 Dec 30, 2022
android-trinity is tiny proactive framework with much of the scaffolding code required to start a new Android Application.

android-trinity This is tiny framework with much of the scaffolding code (with some nice utilities and prepared source code) required to start a new A

Fernando Cejas 49 Nov 24, 2022