Deliver script generates and Android project with tutorials.

This commit is contained in:
Guillaume Beraudo 2011-04-19 11:24:15 +02:00
parent 6aa6eb7acf
commit 9c4eca11a4
2 changed files with 138 additions and 3 deletions

View file

@ -103,7 +103,7 @@
<activity android:name="core.tutorials.video.TestVideoActivity"
<activity android:name="org.linphone.core.tutorials.TestVideoActivity"
android:label="Video test"
android:theme="@android:style/Theme.NoTitleBar"
android:enabled="false">

View file

@ -1,7 +1,142 @@
#!/bin/sh
rm -f ../liblinphone-android-sdk.zip
zip -r ../liblinphone-android-sdk.zip submodules/linphone/coreapi/help/java libs src/org/linphone/core submodules/linphone/java/j2se/ submodules/linphone/java/common res/layout/hello_world.xml res/layout/videotest.xml src/org/linphone/core/ src/org/linphone/Hacks.java
copy()
{
todir="$2/`dirname $1`"
echo "Copying $1 to $2/$1"
mkdir -p $todir
cp -r $1 $todir
}
androidize()
{
D=$1
mkdir -p $D/gen
# Add sources to eclipse .classpath
cat > $D/.classpath <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="src" path="submodules/linphone/coreapi/help/java"/>
<classpathentry kind="src" path="submodules/linphone/java/common"/>
<classpathentry kind="src" path="submodules/linphone/java/j2se"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="output" path="bin"/>
</classpath>
EOF
# Fix package name
grep -R "org.linphone.R" . -l | grep java | xargs sed -i 's/org\.linphone\.R/org\.linphone\.sdk\.R/g'
# Create a basic AndroidManifest.xml
cat > $D/AndroidManifest.xml <<EOF
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.linphone.sdk" android:versionCode="1" android:versionName="1.0">
<application>
<activity android:name="org.linphone.core.tutorials.TestVideoActivity"
android:label="Video test"
android:theme="@android:style/Theme.NoTitleBar"
android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="org.linphone.core.tutorials.TutorialHelloWorldActivity"
android:label="Hello World"
android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="org.linphone.core.tutorials.TutorialRegistrationActivity"
android:label="Registration"
android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="org.linphone.core.tutorials.TutorialBuddyStatusActivity"
android:label="Buddy status"
android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="org.linphone.core.tutorials.TutorialChatRoomActivity"
android:label="Chat Room"
android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"></uses-permission>
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
<uses-permission android:name="android.permission.BOOT_COMPLETED"></uses-permission>
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>
<uses-permission android:name="android.permission.CAMERA" />
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:anyDensity="true"/>
</manifest>
EOF
cat > $D/default.properties <<EOF
split.density=false
target=android-9
EOF
mkdir -p $D/.settings
cat > $D/.settings/org.eclipse.jdt.core.prefs <<EOF
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.5
EOF
}
D="../liblinphone-android-sdk"
rm -rf $D.zip $D
copy submodules/linphone/coreapi/help/java $D
copy libs $D
copy src/org/linphone/core $D
copy submodules/linphone/java/j2se/ $D
copy submodules/linphone/java/common $D
copy res/layout/hello_world.xml $D
copy res/layout/videotest.xml $D
androidize $D
#Creating zip
zip -r ../liblinphone-android-sdk.zip $D
rm -rf $D
javadoc -d liblinphone-android-javadoc src/org/linphone/*.java src/org/linphone/ui/*.java src/org/linphone/core/*.java src/org/linphone/core/video/*.java src/org/linphone/core/tutorials/* submodules/linphone/java/common/org/linphone/core/*.java submodules/linphone/java/j2se/org/linphone/core/*.java
rm -f ../liblinphone-android-javadoc.zip