CSipSimple is released under GPL license terms. Please before anything read Licensing wiki page.
CSipSimple source code has facilities to make easy Branded version provided the fact Branded version respect the GPL license terms.
The first thing you have to be able to do is build CSipSimple. To do so, read the HowToBuild wiki page.
The easiest way to do that is to ask for such a wizard. Read AddASipProvider wiki page.
You can now setup your custom distribution thanks to this file :
src/com/csipsimple/utils/CustomDistribution.java
Most settings are obvious. The getCustomDistributionWizard is particular and must return a WizardInfo object.
Example for keyyo :
return new WizardInfo("KEYYO", "Keyyo", R.drawable.ic_wizard_keyyo, 9, new Locale[]{Locale.FRANCE}, false, false, Keyyo.class);
Where Keyyo class is the wizard class made by the AddASipProvider section.
If you miss one option here, you can ask on the development group
Now we can do small changes to the Manifest to have the name and icon of the application different.
Edit the AndroidManifest.xml file. In application tag change
<application android:allowBackup="false" android:hardwareAccelerated="true" android:icon="@drawable/ic_launcher_nightly" android:label="@string/app_name" >
into
<application android:allowBackup="false" android:hardwareAccelerated="true" android:icon="@drawable/my_icon_drawable" android:label="@string/app_name" >
Usually, the my_icon_drawable is the one of your wizard which should be already included thanks to step AddASipProvider.
Also to change the application display name edit the api_strings.xml
<string name="app_name">Your App Name</string>
Due to the fact most Markets (including Google Play), only allow one package name to be distributed at a time, you have to change the apk package name of the application to be released.
WARNING : What is to be done is to change the application package name NOT the source package name !!!!! If you change the source package name you'll get a lot of problems. So don't guess here, but read the following with care
The apk package name is defined in the AndroidManifest.xml file at the very beginning. Only here, line 3.
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.csipsimple"
Change the "com.csipsimple" here to "your.package.name".
ONLY HERE !!! Don't rename others !!!
Then Android will rebuild the application, and this will make all autogenerated resources (such as layout, drawable etc) resource identifier to be generated in your new package namespace. So the error you get know in eclipse are normal.
No use the Eclipse replace tool (Ctrl+H or Search > Search + file search tab). Search for "import com.csipsimple.R;" and replace with "import your.package.name.R;"
That's it. Your application is ready to be built. And released. Have a look on android docs on how to sign your apk for release.
While releasing the application on the android market, remind of the fact you release your application under GPL license terms. This means that you have to mention in the description of the application that it's released under GPL license terms.
The licensing information must be available inside the application. If you didn't changed it, it's already the case in the help menu, so no problem. You must also release somewhere the changes you did against the base source code. It could be only the modified files. (CustomDistribution.java and AndroidManifest.xml).
Any donation to CSipSimple project Donate or to other opensource stuff included inside CSipSimple such as pjsip, zrtp4pj, etc are greatly appreciated and will help that the projects will not die and that your branded version will be maintained and will support all devices.
Before updating your source code, you should temporarily revert to "import com.csipsimple.R" to avoid merges and headaches.
So just proceed the reverse Ctrl+H than described in the section above. Then update as described in the HowToBuild wiki page update section. And reapply the Ctrl+H.
Wiki: AddASipProvider
Wiki: Donate
Wiki: HowToBuild
Wiki: Licensing
View and moderate all "wiki Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Wiki"
Originally posted by: stephen....@gmail.com
Howdy. When forking the app to run side-by-side with other variations of the App (such as the one on the Google Play store) -- I find that the android:authorities needs to be changed. Is that not included here or am I doing something incorrectly?