Eclipse
From AdLocus
Contents
Eclipse
需要加入的library如下
AdLocusLib_3_5_6 google-play-services_lib support-v4-24.1.0
更換android SDK 底下的proguard(如果需要)
如果您android SDK內的不支援proguard不支援java 8 請將android SDK 內的proguard更新 SDK參考路徑 ../sdk/tools/proguard 或參考此文 http://stackoverflow.com/questions/22670059/error-proguard-unsupported-class-version-number
APP內需要調整的部分
libs內需要新增的jar如下
adlocus_3.5.5.jar org.apache.http.legacy.jar 檔案在project內的 ../AdlocusTest/libs
AndroidManifest.xml
<manifest
...>
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="24" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application
...>
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</activity>
<provider
android:name="com.adlocus.util.MultiProcessPreferences"
android:authorities="your app package.ADLOCUS_CONTENT"
android:exported="false" />
<activity android:name="com.adlocus.AdActivity"
android:theme="@style/AdLocusDialogTheme"
android:launchMode="singleTask"
android:excludeFromRecents="true"
>
</activity>
<activity
android:name="com.adlocus.VideoAdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:launchMode="singleTask"
android:hardwareAccelerated="true"
>
</activity>
<service android:name="com.adlocus.push.PushService"
android:process=":adlocus">
</service>
<receiver
android:enabled="true"
android:name="com.adlocus.push.PushReceive"
android:process=":adlocus">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="com.adlocus.action.RECEIVE" />
</intent-filter>
</receiver>
</application>
</manifest>
Proguard內請新增以下程式碼
#google support v4 -keep class android.support.v4.** { *; } -keep interface android.support.v4.** { *; } #apache -keep class org.apache.http.** { *; } -dontwarn org.apache.http.** -dontwarn android.net.** #google gms -keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable { public static final *** NULL; } -keepnames class * implements android.os.Parcelable -keepclassmembers class * implements android.os.Parcelable { public static final *** CREATOR; } -keep @interface android.support.annotation.Keep -keep @android.support.annotation.Keep class * -keepclasseswithmembers class * { @android.support.annotation.Keep <fields>; } -keepclasseswithmembers class * { @android.support.annotation.Keep <methods>; } -keep @interface com.google.android.gms.common.annotation.KeepName -keepnames @com.google.android.gms.common.annotation.KeepName class * -keepclassmembernames class * { @com.google.android.gms.common.annotation.KeepName *; } -keep @interface com.google.android.gms.common.util.DynamiteApi -keep public @com.google.android.gms.common.util.DynamiteApi class * { public <fields>; public <methods>; } -dontwarn android.security.NetworkSecurityPolicy #adlocus -keepattributes InnerClasses -keep class com.adlocus.AdLocusLibrary.R -keep class com.adlocus.AdLocusLibrary.R$* { <fields>; } -keep public class com.adlocus.** {*;} -keep class com.adlocus.adapters.AdLocusAdapter$MyJavaScriptInterface{<methods>;}
就這麼簡單,您已完成SDK的前期作業。