diff options
Diffstat (limited to 'builder/src/main/java/com/android')
-rw-r--r-- | builder/src/main/java/com/android/builder/AndroidBuilder.java | 2 | ||||
-rw-r--r-- | builder/src/main/java/com/android/builder/DefaultProductFlavor.java | 19 | ||||
-rw-r--r-- | builder/src/main/java/com/android/builder/VariantConfiguration.java | 4 | ||||
-rw-r--r-- | builder/src/main/java/com/android/builder/internal/MergedNdkConfig.java (renamed from builder/src/main/java/com/android/builder/internal/NdkConfigImpl.java) | 3 | ||||
-rw-r--r-- | builder/src/main/java/com/android/builder/internal/compiler/RenderScriptProcessor.java | 8 |
5 files changed, 33 insertions, 3 deletions
diff --git a/builder/src/main/java/com/android/builder/AndroidBuilder.java b/builder/src/main/java/com/android/builder/AndroidBuilder.java index f39e75c..77cc807 100644 --- a/builder/src/main/java/com/android/builder/AndroidBuilder.java +++ b/builder/src/main/java/com/android/builder/AndroidBuilder.java @@ -868,6 +868,7 @@ public class AndroidBuilder { int targetApi, boolean debugBuild, int optimLevel, + boolean ndkMode, boolean supportMode, @Nullable Set<String> abiFilters) throws IOException, InterruptedException, LoggedErrorException { @@ -897,6 +898,7 @@ public class AndroidBuilder { targetApi, debugBuild, optimLevel, + ndkMode, supportMode, abiFilters); processor.build(mCmdLineRunner); diff --git a/builder/src/main/java/com/android/builder/DefaultProductFlavor.java b/builder/src/main/java/com/android/builder/DefaultProductFlavor.java index 603f0d3..7a7b757 100644 --- a/builder/src/main/java/com/android/builder/DefaultProductFlavor.java +++ b/builder/src/main/java/com/android/builder/DefaultProductFlavor.java @@ -38,6 +38,7 @@ public class DefaultProductFlavor extends BaseConfigImpl implements ProductFlavo private int mTargetSdkVersion = -1; private int mRenderscriptTargetApi = -1; private Boolean mRenderscriptSupportMode; + private Boolean mRenderscriptNdkMode; private int mVersionCode = -1; private String mVersionName = null; private String mPackageName = null; @@ -159,6 +160,16 @@ public class DefaultProductFlavor extends BaseConfigImpl implements ProductFlavo mRenderscriptSupportMode = renderscriptSupportMode; } + @Override + public boolean getRenderscriptNdkMode() { + // default is false + return mRenderscriptNdkMode != null && mRenderscriptNdkMode.booleanValue(); + } + + public void setRenderscriptNdkMode(boolean renderscriptNdkMode) { + mRenderscriptNdkMode = renderscriptNdkMode; + } + @NonNull public ProductFlavor setTestPackageName(String testPackageName) { mTestPackageName = testPackageName; @@ -239,6 +250,8 @@ public class DefaultProductFlavor extends BaseConfigImpl implements ProductFlavo base.mRenderscriptTargetApi); flavor.mRenderscriptSupportMode = chooseBoolean(mRenderscriptSupportMode, base.mRenderscriptSupportMode); + flavor.mRenderscriptNdkMode = chooseBoolean(mRenderscriptNdkMode, + base.mRenderscriptNdkMode); flavor.mVersionCode = chooseInt(mVersionCode, base.mVersionCode); flavor.mVersionName = chooseString(mVersionName, base.mVersionName); @@ -290,6 +303,10 @@ public class DefaultProductFlavor extends BaseConfigImpl implements ProductFlavo !mRenderscriptSupportMode.equals(that.mRenderscriptSupportMode) : that.mRenderscriptSupportMode != null) return false; + if (mRenderscriptNdkMode != null ? + !mRenderscriptNdkMode.equals(that.mRenderscriptNdkMode) : + that.mRenderscriptNdkMode != null) + return false; if (mVersionCode != that.mVersionCode) return false; if (mPackageName != null ? !mPackageName.equals(that.mPackageName) : @@ -328,6 +345,7 @@ public class DefaultProductFlavor extends BaseConfigImpl implements ProductFlavo result = 31 * result + mTargetSdkVersion; result = 31 * result + mRenderscriptTargetApi; result = 31 * result + (mRenderscriptSupportMode != null ? mRenderscriptSupportMode.hashCode() : 0); + result = 31 * result + (mRenderscriptNdkMode != null ? mRenderscriptNdkMode.hashCode() : 0); result = 31 * result + mVersionCode; result = 31 * result + (mVersionName != null ? mVersionName.hashCode() : 0); result = 31 * result + (mPackageName != null ? mPackageName.hashCode() : 0); @@ -351,6 +369,7 @@ public class DefaultProductFlavor extends BaseConfigImpl implements ProductFlavo .add("targetSdkVersion", mTargetSdkVersion) .add("renderscriptTargetApi", mRenderscriptTargetApi) .add("renderscriptSupportMode", mRenderscriptSupportMode) + .add("renderscriptNdkMode", mRenderscriptNdkMode) .add("versionCode", mVersionCode) .add("versionName", mVersionName) .add("packageName", mPackageName) diff --git a/builder/src/main/java/com/android/builder/VariantConfiguration.java b/builder/src/main/java/com/android/builder/VariantConfiguration.java index 1491405..80df454 100644 --- a/builder/src/main/java/com/android/builder/VariantConfiguration.java +++ b/builder/src/main/java/com/android/builder/VariantConfiguration.java @@ -22,7 +22,7 @@ import com.android.annotations.VisibleForTesting; import com.android.builder.dependency.DependencyContainer; import com.android.builder.dependency.JarDependency; import com.android.builder.dependency.LibraryDependency; -import com.android.builder.internal.NdkConfigImpl; +import com.android.builder.internal.MergedNdkConfig; import com.android.builder.internal.StringHelper; import com.android.builder.model.ClassField; import com.android.builder.model.NdkConfig; @@ -105,7 +105,7 @@ public class VariantConfiguration implements TestData { private LibraryDependency mOutput; private DefaultProductFlavor mMergedFlavor; - private final NdkConfigImpl mMergedNdkConfig = new NdkConfigImpl(); + private final MergedNdkConfig mMergedNdkConfig = new MergedNdkConfig(); private final Set<JarDependency> mJars = Sets.newHashSet(); diff --git a/builder/src/main/java/com/android/builder/internal/NdkConfigImpl.java b/builder/src/main/java/com/android/builder/internal/MergedNdkConfig.java index b455a0a..bd83e99 100644 --- a/builder/src/main/java/com/android/builder/internal/NdkConfigImpl.java +++ b/builder/src/main/java/com/android/builder/internal/MergedNdkConfig.java @@ -24,8 +24,9 @@ import com.google.common.collect.Sets; import java.util.Set; /** + * Implementation of NdkConfig used to merge multiple configs together. */ -public class NdkConfigImpl implements NdkConfig { +public class MergedNdkConfig implements NdkConfig { private String moduleName; private String cFlags; diff --git a/builder/src/main/java/com/android/builder/internal/compiler/RenderScriptProcessor.java b/builder/src/main/java/com/android/builder/internal/compiler/RenderScriptProcessor.java index 80096e9..9b28743 100644 --- a/builder/src/main/java/com/android/builder/internal/compiler/RenderScriptProcessor.java +++ b/builder/src/main/java/com/android/builder/internal/compiler/RenderScriptProcessor.java @@ -103,6 +103,8 @@ public class RenderScriptProcessor { private final int mOptimLevel; + private final boolean mNdkMode; + private final boolean mSupportMode; private final Set<String> mAbiFilters; @@ -120,6 +122,7 @@ public class RenderScriptProcessor { int targetApi, boolean debugBuild, int optimLevel, + boolean ndkMode, boolean supportMode, @Nullable Set<String> abiFilters) { mSourceFolders = sourceFolders; @@ -132,6 +135,7 @@ public class RenderScriptProcessor { mTargetApi = targetApi; mDebugBuild = debugBuild; mOptimLevel = optimLevel; + mNdkMode = ndkMode; mSupportMode = supportMode; mAbiFilters = abiFilters; @@ -237,6 +241,10 @@ public class RenderScriptProcessor { command.add("-p"); command.add(mSourceOutputDir.getAbsolutePath()); + if (mNdkMode) { + command.add("-reflect-c++"); + } + // res output command.add("-o"); command.add(rawFolder.getAbsolutePath()); |