0
0
mirror of https://github.com/schwabe/ics-openvpn.git synced 2024-09-20 03:52:27 +02:00
openvpn-android/doc/README.txt

63 lines
2.4 KiB
Plaintext
Raw Normal View History

This is my first Android project, so some things may be done in a completely stupid way.
See the file todo.txt for ideas/not yet implemented features (and the bug tracker).
Build instraction:
2012-05-07 13:17:22 +02:00
Disable Google breakcode (WITH_BREAKPAD=0 in jni/Android.mk) or checkout google breakcode
2013-01-10 15:48:09 +01:00
svn co http://google-breakpad.googlecode.com/svn/trunk/ google-breakpad
- Install sdk
- Install ndk (Version 8d gives strange linker errors, use 8b for now)
- Make sure that ndk-build is in your build path.
Do ./misc/build-native.(sh|bat) in the root directory of the project.
You may need to refresh the project and clean the project in eclipse
to have the libraries included the resulting apk.
Use eclipse with android plugins to build the project.
2013-02-11 16:32:07 +01:00
FAQ
2013-02-11 16:36:20 +01:00
Q: How is the OpenVPN version different from normal OpenVPN
A: OpenVPN for Android uses a OpenVPN 2.3 master branch + Android patches + dual stack client patches.
A git repository of the OpenVPN source code and changes is under:
https://github.com/schwabe/openvpn/tree/android_2.3rc1%2Bds
2013-02-11 16:32:07 +01:00
Q: what is minivpn?
A: minivpn is only a executable thats links against libopenvpn which is the normal openvpn build as
library. It is done this way so the Android Play/Store apk will treat the library as normal library
and update it on updates of the application. Also the application does not need to take care of
keeping minivpn up to date because it contains no code. For almost all intents and purposes
2013-02-11 16:36:20 +01:00
minivpn + libopenvpn.so is the same as the normal openvpn binary
2013-02-11 16:36:20 +01:00
Q: How to a VPN by name from an external app
2013-02-11 16:36:20 +01:00
A: public class StartOpenVPNActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final String EXTRA_NAME = "de.blinkt.openvpn.shortcutProfileName";
Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);
shortcutIntent.setClassName("de.blinkt.openvpn", "de.blinkt.openvpn.LaunchVPN");
shortcutIntent.putExtra(EXTRA_NAME,"upb ssl");
startActivity(shortcutIntent);
}
}
or from the shell:
am start -a android.intent.action.MAIN -n de.blinkt.openvpn/.LaunchVPN -e de.blinkt.openvpn.shortcutProfileName Home
Q: How to control the app from an external app?
A: There is an AIDL interface. See src/de/blinkt/openvpn/api/IOpenVPNAPIService.aidl. See the normal Android documentation how to use AIDL.